Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
若汝棋茗
RRQMSocket
提交
b985b318
RRQMSocket
项目概览
若汝棋茗
/
RRQMSocket
10 个月 前同步成功
通知
20
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
RRQMSocket
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
b985b318
编写于
6月 24, 2023
作者:
若
若汝棋茗
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
更新文档
上级
d070bc4a
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
12 addition
and
7 deletion
+12
-7
handbook/docs/resetid.mdx
handbook/docs/resetid.mdx
+7
-7
handbook/docs/tcpcommonplugins.mdx
handbook/docs/tcpcommonplugins.mdx
+4
-0
handbook/docs/upgrade.mdx
handbook/docs/upgrade.mdx
+1
-0
未找到文件。
handbook/docs/resetid.mdx
浏览文件 @
b985b318
---
id: resetid
title: 服务器重置
ID
title: 服务器重置
id
---
## 一、说明
...
...
@@ -11,7 +11,7 @@ title: 服务器重置ID
默认情况下服务器都会根据**历史连接数量**,为连接的客户端新分配Id。也就是说,第一个连接的,其Id就是1,以此类推。
当然我们可以自由的定义Id策略,只需要在Config配置中,配置[SetGetDefaultNewId](../docs/createtcpservice.mdx#setgetdefaultnewid),自定义新
ID来源即可。要求不和现连接的客户端ID
重复。
当然我们可以自由的定义Id策略,只需要在Config配置中,配置[SetGetDefaultNewId](../docs/createtcpservice.mdx#setgetdefaultnewid),自定义新
id来源即可。要求不和现连接的客户端id
重复。
下列示例,就是使用Guid作为初始Id。
...
...
@@ -20,13 +20,13 @@ var config = new TouchSocketConfig();
config.SetGetDefaultNewId(()=>Guid.NewGuid().ToString());
```
## 三、创建能代表连接的I
D
## 三、创建能代表连接的I
d
上述这种Id规范,是与连接信息没有任何关联的,这也就意味着,这种方式是无法关联SocketClient的。
但往往,有时候,我们希望,SocketClient的Id,能一定程度的代表一些信息。例如:以客户端的IP和端口,作为唯一
ID
。
但往往,有时候,我们希望,SocketClient的Id,能一定程度的代表一些信息。例如:以客户端的IP和端口,作为唯一
id
。
那这时候,**服务器**可以订阅**Connecting**,然后,为新连接的SocketClient,设置与之有关联信息的
ID
。
那这时候,**服务器**可以订阅**Connecting**,然后,为新连接的SocketClient,设置与之有关联信息的
id
。
```csharp
m_service.Connecting = (client, e) => //有客户端正在连接
...
...
@@ -41,9 +41,9 @@ m_service.Connecting = (client, e) => //有客户端正在连接
:::
## 四、即时修改
ID
## 四、即时修改
id
上述修改Id的方式,应该还不足以应对所有情况。有时候我们希望,在该连接完成,且经过某种验证之后再设置新的
ID
,那么我们可以通过**ResetId**的方法,来实现需求。
上述修改Id的方式,应该还不足以应对所有情况。有时候我们希望,在该连接完成,且经过某种验证之后再设置新的
id
,那么我们可以通过**ResetId**的方法,来实现需求。
### 4.1 通过Service直接修改
...
...
handbook/docs/tcpcommonplugins.mdx
0 → 100644
浏览文件 @
b985b318
---
id: tcpcommonplugins
title: 常用插件
---
\ No newline at end of file
handbook/docs/upgrade.mdx
浏览文件 @
b985b318
...
...
@@ -28,6 +28,7 @@ import Tag from "@site/src/components/Tag.js";
- <Tag>优化</Tag> IPHost支持从int、string直接隐式转换。
- <Tag>调整</Tag> TouchSocket所有“ID”属性,改名为“Id”。
- <Tag>调整</Tag> TouchSocket所有插件的执行顺序,移动至内部重写方法之后。
- <Tag>调整</Tag> TouchSocket所有`ResetID`改名为`ResetId`。
- <Tag>移除</Tag> UsePlugin的显式配置,当调用ConfigurePlugins时,会自动启用。
- <Tag>新增</Tag> ws协议的TouchRpc服务端,增加HttpContext上下文获取。
---
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录