Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
dotNET Platform
MQTTnet
提交
17e5f2b3
MQTTnet
项目概览
dotNET Platform
/
MQTTnet
10 个月 前同步成功
通知
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,体验更适合开发者的 AI 搜索 >>
提交
17e5f2b3
编写于
5月 18, 2023
作者:
C
Christian
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Expose more information in client connected event args.
上级
2cdad662
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
28 addition
and
10 deletion
+28
-10
Source/MQTTnet/Server/Events/ClientConnectedEventArgs.cs
Source/MQTTnet/Server/Events/ClientConnectedEventArgs.cs
+18
-5
Source/MQTTnet/Server/Internal/MqttClientSessionsManager.cs
Source/MQTTnet/Server/Internal/MqttClientSessionsManager.cs
+10
-5
未找到文件。
Source/MQTTnet/Server/Events/ClientConnectedEventArgs.cs
浏览文件 @
17e5f2b3
...
...
@@ -4,26 +4,33 @@
using
System
;
using
System.Collections
;
using
System.Collections.Generic
;
using
MQTTnet.Formatter
;
using
MQTTnet.Packets
;
namespace
MQTTnet.Server
{
public
sealed
class
ClientConnectedEventArgs
:
EventArgs
{
public
ClientConnectedEventArgs
(
string
clientId
,
string
userName
,
MqttProtocolVersion
protocolVersion
,
string
endpoint
,
IDictionary
sessionItems
)
readonly
MqttConnectPacket
_connectPacket
;
public
ClientConnectedEventArgs
(
MqttConnectPacket
connectPacket
,
MqttProtocolVersion
protocolVersion
,
string
endpoint
,
IDictionary
sessionItems
)
{
ClientId
=
clientId
??
throw
new
ArgumentNullException
(
nameof
(
clientId
));
UserName
=
userName
;
_connectPacket
=
connectPacket
??
throw
new
ArgumentNullException
(
nameof
(
connectPacket
));
ProtocolVersion
=
protocolVersion
;
Endpoint
=
endpoint
;
SessionItems
=
sessionItems
??
throw
new
ArgumentNullException
(
nameof
(
sessionItems
));
}
public
byte
[]
AuthenticationData
=>
_connectPacket
.
AuthenticationData
;
public
string
AuthenticationMethod
=>
_connectPacket
.
AuthenticationMethod
;
/// <summary>
/// Gets the client identifier of the connected client.
/// Hint: This identifier needs to be unique over all used clients / devices on the broker to avoid connection issues.
/// </summary>
public
string
ClientId
{
get
;
}
public
string
ClientId
=>
_connectPacket
.
ClientId
;
/// <summary>
/// Gets the endpoint of the connected client.
...
...
@@ -43,6 +50,12 @@ namespace MQTTnet.Server
/// <summary>
/// Gets the user name of the connected client.
/// </summary>
public
string
UserName
{
get
;
}
public
string
UserName
=>
_connectPacket
.
Username
;
/// <summary>
/// Gets the user properties sent by the client.
/// <remarks>MQTT 5.0.0+ feature.</remarks>
/// </summary>
public
List
<
MqttUserProperty
>
UserProperties
=>
_connectPacket
?.
UserProperties
;
}
}
\ No newline at end of file
Source/MQTTnet/Server/Internal/MqttClientSessionsManager.cs
浏览文件 @
17e5f2b3
...
...
@@ -377,9 +377,7 @@ namespace MQTTnet.Server
if
(
_eventContainer
.
ClientConnectedEvent
.
HasHandlers
)
{
var
eventArgs
=
new
ClientConnectedEventArgs
(
connectPacket
.
ClientId
,
connectPacket
.
Username
,
var
eventArgs
=
new
ClientConnectedEventArgs
(
connectPacket
,
channelAdapter
.
PacketFormatterAdapter
.
ProtocolVersion
,
channelAdapter
.
Endpoint
,
client
.
Session
.
Items
);
...
...
@@ -614,7 +612,11 @@ namespace MQTTnet.Server
_sessions
[
connectPacket
.
ClientId
]
=
session
;
// Create a new client (always required).
_clients
.
TryGetValue
(
connectPacket
.
ClientId
,
out
oldClient
);
lock
(
_clients
)
{
_clients
.
TryGetValue
(
connectPacket
.
ClientId
,
out
oldClient
);
}
if
(
oldClient
!=
null
)
{
// This will stop the current client from sending and receiving but remains the connection active
...
...
@@ -624,7 +626,10 @@ namespace MQTTnet.Server
client
=
CreateClient
(
connectPacket
,
channelAdapter
,
session
);
_clients
[
connectPacket
.
ClientId
]
=
client
;
lock
(
_clients
)
{
_clients
[
connectPacket
.
ClientId
]
=
client
;
}
}
finally
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录