Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
MQTTnet
提交
29ec6edb
MQTTnet
项目概览
dotNET Platform
/
MQTTnet
12 个月 前同步成功
通知
0
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
MQTTnet
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
29ec6edb
编写于
6月 24, 2022
作者:
C
Christian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Update Server_Simple_Samples.cs
上级
f3ef2dbf
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
82 addition
and
2 deletion
+82
-2
Samples/Server/Server_Simple_Samples.cs
Samples/Server/Server_Simple_Samples.cs
+82
-2
未找到文件。
Samples/Server/Server_Simple_Samples.cs
浏览文件 @
29ec6edb
...
...
@@ -2,6 +2,7 @@
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
using
MQTTnet.Diagnostics
;
using
MQTTnet.Protocol
;
using
MQTTnet.Server
;
...
...
@@ -67,7 +68,36 @@ public static class Server_Simple_Samples
var
mqttServerOptions
=
new
MqttServerOptionsBuilder
().
WithDefaultEndpoint
().
Build
();
// The port can be changed using the following API (not used in this example).
new
MqttServerOptionsBuilder
().
WithDefaultEndpoint
().
WithDefaultEndpointPort
(
1234
).
Build
();
// new MqttServerOptionsBuilder()
// .WithDefaultEndpoint()
// .WithDefaultEndpointPort(1234)
// .Build();
using
(
var
mqttServer
=
mqttFactory
.
CreateMqttServer
(
mqttServerOptions
))
{
await
mqttServer
.
StartAsync
();
Console
.
WriteLine
(
"Press Enter to exit."
);
Console
.
ReadLine
();
// Stop and dispose the MQTT server if it is no longer needed!
await
mqttServer
.
StopAsync
();
}
}
public
static
async
Task
Run_Server_With_Logging
()
{
/*
* This sample starts a simple MQTT server and prints the logs to the output.
*
* IMPORTANT! Do not enable logging in live environment. It will decrease performance.
*
* See sample "Run_Minimal_Server" for more details.
*/
var
mqttFactory
=
new
MqttFactory
(
new
ConsoleLogger
());
var
mqttServerOptions
=
new
MqttServerOptionsBuilder
().
WithDefaultEndpoint
().
Build
();
using
(
var
mqttServer
=
mqttFactory
.
CreateMqttServer
(
mqttServerOptions
))
{
...
...
@@ -89,7 +119,11 @@ public static class Server_Simple_Samples
* See _Run_Minimal_Server_ for more information.
*/
using
(
var
mqttServer
=
await
StartMqttServer
())
var
mqttFactory
=
new
MqttFactory
();
var
mqttServerOptions
=
new
MqttServerOptionsBuilder
().
WithDefaultEndpoint
().
Build
();
using
(
var
mqttServer
=
mqttFactory
.
CreateMqttServer
(
mqttServerOptions
))
{
// Setup connection validation before starting the server so that there is
// no change to connect without valid credentials.
...
...
@@ -132,4 +166,50 @@ public static class Server_Simple_Samples
await
server
.
StartAsync
();
return
server
;
}
class
ConsoleLogger
:
IMqttNetLogger
{
readonly
object
_consoleSyncRoot
=
new
();
public
bool
IsEnabled
=>
true
;
public
void
Publish
(
MqttNetLogLevel
logLevel
,
string
source
,
string
message
,
object
[]?
parameters
,
Exception
?
exception
)
{
var
foregroundColor
=
ConsoleColor
.
White
;
switch
(
logLevel
)
{
case
MqttNetLogLevel
.
Verbose
:
foregroundColor
=
ConsoleColor
.
White
;
break
;
case
MqttNetLogLevel
.
Info
:
foregroundColor
=
ConsoleColor
.
Green
;
break
;
case
MqttNetLogLevel
.
Warning
:
foregroundColor
=
ConsoleColor
.
DarkYellow
;
break
;
case
MqttNetLogLevel
.
Error
:
foregroundColor
=
ConsoleColor
.
Red
;
break
;
}
if
(
parameters
?.
Length
>
0
)
{
message
=
string
.
Format
(
message
,
parameters
);
}
lock
(
_consoleSyncRoot
)
{
Console
.
ForegroundColor
=
foregroundColor
;
Console
.
WriteLine
(
message
);
if
(
exception
!=
null
)
{
Console
.
WriteLine
(
exception
);
}
}
}
}
}
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录