HPSocket.Net
区间数据接收适配器基类
包体解析对象类型
Start Boyer Moore
因为同一个连接不会同时触发OnReceive回调, 所以可以这么玩
End Boyer Moore
因为同一个连接不会同时触发OnReceive回调, 所以可以这么玩
区间数据接收适配器基类构造函数
区间起始
区间结束
解析请求包体到对象
包体
需子类根据包体data自己解析对象并返回
数据接收适配器基类
包体解析对象类型
数据接收适配器信息
打开连接
数据到达
关闭连接
数据接收适配器信息
连接id
数据
固定包头数据接收适配器基类
包体解析对象类型
包头长度, 组件在调用GetBodySize()方法时候会给定此长度的数据, 需要继承当前接口的类在构造函数中设置包头长度
最大封包长度
固定包头数据接收适配器基类构造函数
包头长度
最大封包长度, 0.不限
获取包体长度
包头, 其长度是HeaderLength属性指定的长度
需子类根据header自己解析包体实际长度并返回
解析请求包体到对象
包头
包体
需子类根据包体data自己解析对象并返回
定长数据接收适配器基类
包体解析对象类型
封包长度
定长数据接收适配器基类构造函数
包长
解析请求包体到对象
包体
需子类根据包体data自己解析对象并返回
结束符数据接收适配器基类
包体解析对象类型
Boyer Moore
因为同一个连接不会同时触发OnReceive回调, 所以可以这么玩
结束符数据接收适配器基类构造函数
结束符
解析请求包体到对象
包体
需子类根据包体data自己解析对象并返回
多消费者异步消费队列
数据操作类
消费队列实体
任务处理函数
构造方法
消费者数量
任务处理函数
剩余数据数量
队列添加数据
数据实体
成功返回true,失败返回false
消费者数量
添加消费者
删除消费者
停止消费
释放资源
消费队列实体
任务处理函数
控制线程令牌
构造方法
消费队列实体
任务处理函数
消费数据方法
停止线程工作
释放资源
是否释放了
连接超时时间
同步接收超时时间
异步连接
代理列表
连接分配的代理ip
连接分配的代理ip的缓存,连接成功或失败后删除
监听对象指针
附加数据
代理预连接
代理已连接
创建socket监听和服务组件
终止服务并释放资源
设置附加数据-非托管版本
获取附加数据--非托管版本
设置附加数据-非托管版本
获取附加数据--非托管版本
设置回调
随机获取代理服务器
延迟等待连接超时
释放资源
释放资源
是否释放了
监听对象指针
创建socket监听和服务组件
终止服务并释放资源
设置回调
释放资源
释放资源
proxy base
主机地址
主机端口
帐号
密码
远程服务器地址
远程服务器端口
User-Agent, 只对 http 代理有效
默认HPSocket.net/2.0
是否释放了
监听对象指针
附加数据
创建socket监听和服务组件
终止服务并释放资源
获取所有附加数据
设置回调
释放资源
释放资源
连接进入
如果为 TCP 连接,pClient为 SOCKET 句柄;如果为 UDP 连接,pClient为 SOCKADDR 指针;
代理预连接
代理已连接
通信组件服务状态,用程序可以通过通信组件的 GetState() 方法获取组件当前服务状态
正在启动
已经启动
正在停止
已经启动
Socket 操作类型,应用程序的 OnError() 事件中通过该参数标识是哪种操作导致的错误
Unknown
Accept
Connect
Text
Receive
Receive
Timed out
事件通知处理结果,事件通知的返回值,不同的返回值会影响通信组件的后续行为
成功
忽略
错误
操作结果代码, 组件 Start() / Stop() 方法执行失败时,可通过 ErrorCode() 获取错误代码
成功
当前状态不允许操作
非法参数
创建 SOCKET 失败
绑定 SOCKET 失败
设置 SOCKET 失败
监听 SOCKET 失败
创建完成端口失败
创建工作线程失败
创建监测线程失败
绑定完成端口失败
连接服务器失败
网络错误
数据处理错误
数据发送失败
SSL 环境未就绪
接收状态
未知
唤醒状态
暂停状态
发送策略
打包模式(默认)
安全模式
直接模式
OnSend 事件同步策略
Server 组件和 Agent 组件的 OnSend 事件同步策略
不同步(默认) :不同步 OnSend 事件,此时可能同时触发 OnReceive 和 OnClose 事件
同步 OnClose :只同步 OnClose 事件,此时可能同时触发 OnReceive 事件
同步 OnReceive :(只用于 TCP 组件)同步 OnReceive 和 OnClose 事件,此处不可能同时触发 OnReceive 或 OnClose 事件
代理类型
Unknown
http
socks5
地址重用选项
通信组件底层 socket 的地址重用选项
不重用
仅重用地址
重用地址和端口
Determines whether the specified string is a predefined scheme.
true if is a predefined scheme;
otherwise, false.
A to test.
Determines whether the specified string is a URI string.
true if may be a URI string;
otherwise, false.
A to test.
Tries to create a new for WebSocket with
the specified .
true if the was successfully created;
otherwise, false.
A that represents a WebSocket URL to try.
When this method returns, a that
represents the WebSocket URL or
if is invalid.
When this method returns, a that
represents an error message or
if is valid.
Converts the specified array to a string.
A converted by concatenating each element of
across .
An empty string if is an empty array.
An array of T to convert.
A used to separate each element of
.
The type of elements in .
is .
http message data decompress
非托管附加数据扩展
伪引用计数
结构体转 int ptr, 必须调用 IntPtr.FreeNativeExtraIntPtr()
IntPtr转NativeExtra
释放由NativeExtra.ToIntPtr()申请的内存
HttpMethod 扩展
到名称
HttpStatusCode 扩展
到短正整数
到名称
IntPtr 扩展
连接状态扩展
是否有效的状态值
是否有效的状态值
bytes扩展
查找bytes
Boyer-Moore-Horspool 搜索, 来自 https://blog.csdn.net/lindexi_gd/article/details/100174714
Boyer-Moore
BoyerMoore类来自 https://gist.github.com/mjs3339/0772431281093f1bca1fce2f2eca527d
是否包含key
获取附加数据
获取所有附加数据
设置附加数据
删除附加数据
清除
初始化异常
非托管内存附加数据
连接状态
代理连接状态
代理连接标记
用户的附加数据
wsabuf
Name/Value 结构体
字符串名值对结构体
Name/Value 结构体
字符串名值对结构体
cookie 管理器
从文件加载 Cookie
保存 Cookie 到文件
清理 Cookie
清理过期 Cookie
设置 Cookie
删除 Cookie
获取或设置是否允许第三方 Cookie
Cookie expires 字符串转换为整数
整数转换为 Cookie expires 字符串
生成 Cookie 字符串
获取当前 UTC 时间
Max-Age 到 expires
expires 到 Max-Age
http版本号
http 1.0
http 1.1
URL 域, HTTP 请求行中 URL 段位的域定义
Field Count
HTTP 解析结果标识, 指示 HTTP 解析器是否继续执行解析操作
终止解析,断开连接
继续解析
HTTP 解析结果标识, 指示 HTTP 解析器是否继续执行解析操作
终止解析,断开连接
继续解析
跳过当前请求 BODY
升级协议
http upgrade type
没有升级
WebSocket
HTTP 隧道
未知类型
http status code
HttpMethod
默认请求头
http agent 不实现当前方法, 请调用带HttpMethod版本的SendSmallFile方法
http server 不实现当前方法, 请调用带HttpMethod版本的SendSmallFile方法
默认请求头
http agent 不实现当前方法, 请调用带HttpMethod版本的SendSmallFile方法
http server 不实现当前方法, 请调用带HttpMethod版本的SendSmallFile方法
OnClose重写用来释放资源, 该事件会继续触发
OnClose重写用来释放资源, 该事件会继续触发
获取或设置是否初始化ssl环境
释放资源
获取或设置是否初始化ssl环境
释放资源
获取或设置是否初始化ssl环境
释放资源
获取或设置是否初始化ssl环境
释放资源
获取或设置是否初始化ssl环境
释放资源
http server 不实现当前方法, 请调用带HttpStatusCode版本的SendSmallFile方法
http server 不实现当前方法, 请调用带HttpStatusCode版本的SendSmallFile方法
获取或设置是否初始化ssl环境
释放资源
agent 基础接口
监听地址,默认0.0.0.0
是否异步连接,默认为真
启动服务后设置此属性会引发此异常
连接超时时间, 默认操作系统默认值
单位: 毫秒
同步连接、.NET Framework2.0以及设置小于100毫秒会引发此异常
同步接收超时, 默认操作系统默认值
只对同步连接有用
单位: 毫秒
异步连接、小于100毫秒会引发此异常
连接到达事件
数据包发送事件
准备监听了事件
数据到达事件
连接关闭事件
客户端停止事件
握手事件
获取是否启动
获取状态
获取连接数
是否为安全连接(SSL/HTTPS)
设置最大连接数(组件会根据设置值预分配内存,因此需要根据实际情况设置,不宜过大)
读取或设置工作线程数量(通常设置为 2 * CPU + 2)
读取或设置 Socket 缓存对象锁定时间(毫秒,在锁定期间该 Socket 缓存对象不能被获取使用)
读取或设置 Socket 缓存池大小(通常设置为平均并发连接数量的 1/3 - 1/2)
读取或设置内存块缓存池大小(通常设置为 Socket 缓存池大小的 2 - 3 倍)
读取或设置内存块缓存池大小(通常设置为 Socket 缓存池大小的 2 - 3 倍)
读取或设置内存块缓存池回收阀值(通常设置为内存块缓存池大小的 3 倍)
读取或设置是否标记静默时间(设置为 true 时 DisconnectSilenceConnections() 和 GetSilencePeriod() 才有效,默认:false)
获取或设置数据发送策略
获取或设置 OnSend 事件同步策略
获取或设置地址重用选项
获取错误码
获取错误信息
socks5 代理列表
启动服务
BindAddress未设置会引发此异常
停止服务
连接到远程服务器
远程服务器地址
远程服务器端口
连接到远程服务器
远程服务器地址
远程服务器端口
连接id
连接到远程服务器并附带附加数据, 另可附带本地地址及端口, 默认为空不带
远程服务器地址
远程服务器端口
附加数据, 在回调事件中使用GetConnectionExtra()获取
附加托管对象时候可能需使用GCHandle固定托管对象地址, 使用方法参考微软官方文档:
https://docs.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.gchandle.addrofpinnedobject?view=netframework-4.8#System_Runtime_InteropServices_GCHandle_AddrOfPinnedObject
连接id
要绑定的本地地址
要绑定的本地端口
连接到远程服务器并附带附加数据
附加数据, 在回调事件中使用GetConnectionExtra()获取
附加托管对象时候可能需使用GCHandle固定托管对象地址, 使用方法参考微软官方文档:
https://docs.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.gchandle.addrofpinnedobject?view=netframework-4.8#System_Runtime_InteropServices_GCHandle_AddrOfPinnedObject
设置连接附加数据, 非托管版本, hp-socket自带方法;【使用此方法不支持异步连接超时时间,且不支持连接状态获取】;非特殊需求不要使用这个方法, 请直接使用 SetExtra();
附加托管对象时候可能需使用GCHandle固定托管对象地址, 使用方法参考微软官方文档:
https://docs.microsoft.com/zh-cn/dotnet/api/system.runtime.interopservices.gchandle.addrofpinnedobject?view=netframework-4.8#System_Runtime_InteropServices_GCHandle_AddrOfPinnedObject
获取连接附加数据, 非托管版本, hp-socket自带方法;【使用此方法不支持异步连接超时时间,且不支持连接状态获取】 非特殊需求不要使用这个方法, 请直接使用 GetExtra();
发送数据
发送数据
针对bytes的偏移
发多大
发送多组数据
向指定连接发送多组数据
TCP - 顺序发送所有数据包
连接 ID
发送缓冲区数组
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
断开某个的连接
是否强制断开
断开超过指定时间的连接
毫秒
强制
暂停接收
唤醒接收
获取连接的接收状态
断开超过指定时长的静默连接
毫秒
强制
获取某个连接的本地地址信息
获取某个连接的远程地址信息
获取连接中未发出数据的长度
获取指定连接的连接时长(毫秒)
获取某个连接静默时间(毫秒)
获取所有连接
获取某个连接的远程主机信息
检测是否有效连接
设置附加数据
获取附加数据
删除附加数据
获取连接状态
client 基础接口
远程服务器地址
远程服务器端口
本地绑定到哪个ip
本地绑定到哪个端口
是否异步连接,默认为真
附加数据
赋值:client.ExtraData = myObj;
取值:var data = ExtraData as MyData;
准备连接了事件
连接事件
数据发送事件
数据到达事件
连接关闭事件
握手事件
读取或设置内存块缓存池大小(通常设置为 -> PUSH 模型:5 - 10;PULL 模型:10 - 20 )
读取或设置内存块缓存池回收阀值(通常设置为内存块缓存池大小的 3 倍)
检查通信组件是否已启动
是否已连接
状态
获取该组件对象的连接Id
是否为安全连接(SSL/HTTPS)
获取或设置暂停接收状态,设置状态时,不允许设置为ReceiveState.Unknown,
获取或设置地址重用选项
获取错误码
获取错误信息
启动通讯组件并连接到服务器
启动通讯组件并连接到服务器
远程服务器地址
远程服务器端口
停止服务
发送数据
发送数据
针对bytes的偏移
发多大
发送多组数据
向指定连接发送多组数据
TCP - 顺序发送所有数据包
发送缓冲区数组
发送缓冲区数目
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
获取连接中未发出数据的长度
获取监听socket的地址信息
获取连接的远程主机信息
http server/agent/client 的公共接口
获取或设置 HTTP 启动方式, 默认为true
获取或设置本地协议版本
【可选】开始解析
【可选】请求头通知
【可选】Chunked 报文头通知
【可选】Chunked 报文结束通知
【可选】升级协议通知
【必须】请求头完成通知
【必须】请求体报文通知
【必须】完成解析通知
【必须】解析错误通知
【必须】WebSocket数据头通知
【必须】WebSocket数据包体通知(byte)
【必须】WebSocket数据完成解析通知
http agent
获取或设置是否使用 Cookie
【可选】状态行解析完成(仅用于 HTTP 客户端)
发送web socket消息
发送请求
http method
请求路径
请求头
请求体
请求体长度
发送请求
http method
请求路径
请求头
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
发送 POST 请求
请求路径
请求头
请求体
请求体长度
发送 POST 请求
请求路径
请求头
请求体
请求体长度
发送 PUT 请求
请求路径
请求头
请求体
请求体长度
发送 PUT 请求
请求路径
请求头
请求体
请求体长度
发送 PATCH 请求
请求路径
请求头
请求体
请求体长度
发送 PATCH 请求
请求路径
请求头
请求体
请求体长度
发送 GET 请求
请求路径
请求头
发送 DELETE 请求
请求路径
请求头
发送 HEAD 请求
请求路径
请求头
发送 TRACE 请求
请求路径
请求头
发送 OPTIONS 请求
请求路径
请求头
发送 CONNECT 请求
请求路径
请求头
获取 HTTP 状态码
http client
获取或设置是否使用 Cookie
【可选】状态行解析完成(仅用于 HTTP 客户端)
发送请求
http method
请求路径
请求头
请求体
请求体长度
发送请求
http method
请求路径
请求头
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
向对端发送 Chunked 数据分片
Chunked 数据分片
数据分片长度(为 0 表示结束分片)
扩展属性(默认:null)
发送web socket消息
发送 POST 请求
请求路径
请求头
请求体
请求体长度
发送 POST 请求
请求路径
请求头
请求体
请求体长度
发送 PUT 请求
请求路径
请求头
请求体
请求体长度
发送 PUT 请求
请求路径
请求头
请求体
请求体长度
发送 PATCH 请求
请求路径
请求头
请求体
请求体长度
发送 PATCH 请求
请求路径
请求头
请求体
请求体长度
发送 GET 请求
请求路径
请求头
发送 DELETE 请求
请求路径
请求头
发送 HEAD 请求
请求路径
请求头
发送 TRACE 请求
请求路径
请求头
发送 OPTIONS 请求
请求路径
请求头
发送 CONNECT 请求
请求路径
请求头
获取当前 WebSocket 消息状态
启动 HTTP 通信, 当通信组件设置为非自动启动 HTTP 通信时,需要调用本方法启动 HTTP 通信
获取 HTTP 状态码
检查是否升级协议
检查是否有 Keep-Alive 标识
获取协议版本
获取内容长度
获取内容类型
获取内容类型
获取传输编码
获取协议升级类型
获取解析错误代码
获取某个请求头(单值)
获取某个请求头(多值)
获取所有请求头
获取所有请求头名称
获取Cookie
获取所有 Cookie
http easy agent
每次到一个完整的chunk data数据包, 事件到达同时表示chunk data接收完成
每次到一个完整的http get/post数据包 事件到达同时表示message接收完成
每次到一个完整的web socket数据包 事件到达同时表示web socket message接收完成
http easy client
每次到一个完整的chunk data数据包, 事件到达同时表示chunk data接收完成
每次到一个完整的http get/post数据包 事件到达同时表示message接收完成
每次到一个完整的web socket数据包 事件到达同时表示web socket message接收完成
自动解压缩, 默认true, gzip/deflate 自动解压缩
http easy agent
每次到一个完整的chunk data数据包, 事件到达同时表示chunk data接收完成
每次到一个完整的http get/post数据包 事件到达同时表示message接收完成
每次到一个完整的web socket数据包 事件到达同时表示web socket message接收完成
http server/agent 公共接口
向对端发送 Chunked 数据分片
Chunked 数据分片
数据分片长度(为 0 表示结束分片)
扩展属性(默认:null)
发送web socket消息
启动 HTTP 通信, 当通信组件设置为非自动启动 HTTP 通信时,需要调用本方法启动 HTTP 通信
获取当前 WebSocket 消息状态
检查是否升级协议
检查是否有 Keep-Alive 标识
获取协议版本
获取内容长度
获取内容类型
获取内容类型
获取传输编码
获取协议升级类型
获取解析错误代码
获取某个请求头(单值)
获取某个请求头(多值)
获取所有请求头
获取所有请求头名称
获取Cookie
获取所有 Cookie
User-Agent, 只对 http 代理有效
默认HPSocket.net/2.0
获取连接代理需要的数据
是否连接代理成功
https agent
https agent
https easy agent
https easy client
https easy agent
http server
获取或设置连接释放延时(默认:3000 毫秒)
【可选】请求行解析完成(仅用于 HTTP 服务端)
发送请求
http状态码
响应头
响应体
响应体体长度
发送请求
http状态码
http响应描述 (一般根据状态码来)
响应头
响应体
响应体体长度
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
发送web socket消息
获取主机
名称:释放连接
描述:把连接放入释放队列,等待某个时间(通过 SetReleaseDelay() 设置)关闭连接
连接 ID
获取某个 URL 域值
获取请求行 URL 域掩码(URL 域参考:HttpUrlField)
获取请求方法
https server
https agent
http sync client
获取或设置连接超时时间
(毫秒,0:系统默认超时,默认:5000)
获取或设置请求超时时间
(毫秒,0:无限等待,默认:10000)
响应编码,
如果为空, 组件默认会根据响应头的Content-Type尝试寻找charset的值做解码编码
如果Content-Type里没有charset, 则默认使用utf-8编码进行解码
发送 URL 请求
向服务端发送 HTTP URL 请求
http method
请求url
请求头
请求体
请求体长度
是否强制重新连接(默认:false,当请求 URL 的主机和端口与现有连接一致时,重用现有连接)
清除请求结果
清除上一次请求的响应头和响应体等结果信息(该方法会在每次发送请求前自动调用)
获取响应体
http sync client
http请求头
http响应头
发送 GET 请求
请求url
是否强制重新连接(默认:false,当请求 URL 的主机和端口与现有连接一致时,重用现有连接)
发送 POST 请求
请求url
请求体
请求体长度
是否强制重新连接(默认:false,当请求 URL 的主机和端口与现有连接一致时,重用现有连接)
发送 PUT 请求
请求url
请求体
请求体长度
是否强制重新连接(默认:false,当请求 URL 的主机和端口与现有连接一致时,重用现有连接)
发送 DELETE 请求
请求url
是否强制重新连接(默认:false,当请求 URL 的主机和端口与现有连接一致时,重用现有连接)
proxy
主机地址
主机端口
帐号
密码
server 基础接口
要绑定的服务器地址
要绑定的服务器端口
连接到达事件
数据包发送事件
准备监听了事件
数据到达事件
连接关闭事件
服务器关闭事件
握手成功事件
获取是否启动
获取状态
获取连接数
是否为安全连接(SSL/HTTPS)
设置最大连接数(组件会根据设置值预分配内存,因此需要根据实际情况设置,不宜过大)
读取或设置工作线程数量(通常设置为 2 * CPU + 2)
读取或设置 Socket 缓存对象锁定时间(毫秒,在锁定期间该 Socket 缓存对象不能被获取使用)
读取或设置 Socket 缓存池大小(通常设置为平均并发连接数量的 1/3 - 1/2)
读取或设置内存块缓存池大小(通常设置为 Socket 缓存池大小的 2 - 3 倍)
读取或设置内存块缓存池大小(通常设置为 Socket 缓存池大小的 2 - 3 倍)
读取或设置内存块缓存池回收阀值(通常设置为内存块缓存池大小的 3 倍)
读取或设置是否标记静默时间(设置为 true 时 DisconnectSilenceConnections() 和 GetSilencePeriod() 才有效,默认:false)
获取或设置数据发送策略
获取或设置 OnSend 事件同步策略
获取或设置地址重用选项
获取错误码
获取错误信息
启动服务
停止服务
发送数据
发送数据
针对bytes的偏移
发多大
发送多组数据
向指定连接发送多组数据
TCP - 顺序发送所有数据包
连接 ID
发送缓冲区数组
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
断开与某个客户的连接
是否强制断开
断开超过指定时间的连接
毫秒
强制
暂停接收
唤醒接收
获取连接的接收状态
断开超过指定时长的静默连接
毫秒
强制
获取某个连接的本地地址信息
获取某个连接的远程地址信息
获取连接中未发出数据的长度
获取监听socket的地址信息
获取指定连接的连接时长(毫秒)
获取某个连接静默时间(毫秒)
获取所有连接
是否有效连接
设置连接附加数据, 非托管版本, hp-socket自带方法;非特殊需求不要使用这个方法, 请直接使用 SetExtra();
获取连接附加数据, 非托管版本, hp-socket自带方法;非特殊需求不要使用这个方法, 请直接使用 GetExtra();
设置附加数据
获取附加数据
获取所有附加数据
删除附加数据
所有组件的基接口
组件原始指针
比如在 hp-socket 的线程池中需要使用
获取或设置包含有关组件的数据的对象
当前组件版本
系统错误码
等待通信组件停止运行
可用在控制台程序, 用来阻塞主线程, 防止程序退出
超时时间(毫秒,默认:-1,永不超时)
等待通信组件停止运行
可用在控制台程序, 用来阻塞主线程, 防止程序退出
超时时间(毫秒,默认:-1,永不超时)
停止服务
获取连接代理需要的数据
获取认证数据
检查子版本
获取连接目标服务器的数据
是否连接代理成功
ssl agent
包体解析对象类型
解析请求包体对象事件
数据接收适配器
ssl agent
启动 SSL 握手,当通信组件设置为非自动握手时,需要调用本方法启动 SSL 握手
获取指定类型的 SSL WebSocketSession 信息(输出类型参考:SslSessionInfo)
ssl client
包体解析对象类型
解析请求包体对象事件
数据接收适配器
ssl client
启动 SSL 握手,当通信组件设置为非自动握手时,需要调用本方法启动 SSL 握手
获取指定类型的 SSL WebSocketSession 信息(输出类型参考:SslSessionInfo)
ssl pack agent
读取或设置数据包最大长度,有效数据包最大长度不能超过 4194303/0x3FFFFF 字节,默认:262144/0x40000
读取或设置包头标识,有效包头标识取值范围 0 ~ 1023/0x3FF,当包头标识为 0 时不校验包头,默认:0
ssl pack client
读取或设置数据包最大长度,有效数据包最大长度不能超过 4194303/0x3FFFFF 字节,默认:262144/0x40000
读取或设置包头标识,有效包头标识取值范围 0 ~ 1023/0x3FF,当包头标识为 0 时不校验包头,默认:0
ssl pack server
读取或设置数据包最大长度,有效数据包最大长度不能超过 4194303/0x3FFFFF 字节,默认:262144/0x40000
读取或设置包头标识,有效包头标识取值范围 0 ~ 1023/0x3FF,当包头标识为 0 时不校验包头,默认:0
ssl pull agent
数据到达事件
抓取数据,用户通过该方法从 Socket 组件中抓取数据
抓取数据,用户通过该方法从 Socket 组件中抓取数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
ssl pull client
数据到达事件
抓取数据,用户通过该方法从 Socket 组件中抓取数据
抓取数据,用户通过该方法从 Socket 组件中抓取数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
ssl pull server
数据到达事件
抓取数据,用户通过该方法从 Socket 组件中抓取数据
抓取数据,用户通过该方法从 Socket 组件中抓取数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
ssl server
包体解析对象类型
解析请求包体对象事件
数据接收适配器
ssl server
增加 SNI 主机证书(只用于服务端)
SSL 服务端在 SetupSSLContext() 成功后可以调用本方法增加多个 SNI 主机证书
返回值:正数 -- 成功,并返回 SNI 主机证书对应的索引,该索引用于在 SNI 回调函数中定位 SNI 主机
返回值:负数 -- 失败,可通过 Sys.ErrorCode() 获取失败原因
SSL 验证模式(参考 SslVerifyMode)
证书文件
私钥文件
私钥密码(没有密码则为空)
CA 证书文件或目录(单向验证可选)
增加 SNI 主机证书(通过内存加载证书)
SSL 服务端在 SetupSSLContext() 成功后可以调用本方法增加多个 SNI 主机证书
返回值:正数 -- 成功,并返回 SNI 主机证书对应的索引,该索引用于在 SNI 回调函数中定位 SNI 主机
返回值:负数 -- 失败,可通过 Sys.ErrorCode() 获取失败原因
SSL 验证模式(参考 EnSSLVerifyMode)
证书内容
私钥内容
私钥密码(没有密码则为空)
CA 证书内容(单向验证可选)
绑定 SNI 主机域名
SSL 服务端在 AddSSLContext() 成功后可以调用本方法绑定主机域名到 SNI 主机证书
返回值:正数 -- 成功
返回值:负数 -- 失败,可通过 Sys.ErrorCode() 获取失败原因
主机域名
SNI 主机证书对应的索引
启动 SSL 握手,当通信组件设置为非自动握手时,需要调用本方法启动 SSL 握手
获取指定类型的 SSL WebSocketSession 信息(输出类型参考:SslSessionInfo)
tcp agent
包体解析对象类型
解析请求包体对象事件
数据接收适配器
tcp agent
读取或设置通信数据缓冲区大小(根据平均通信数据包大小调整设置,通常设置为 1024 的倍数)
读取或设置心跳包间隔(毫秒,0 则不发送心跳包)
读取或设置心跳确认包检测间隔(毫秒,0 不发送心跳包,如果超过若干次 [默认:WinXP 5 次, Win7 10 次] 检测不到心跳确认包则认为已断线)
获取或设置是否开启 nodelay 模式 (默认: false, 不开启)
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
文件路径
头部附加数据
尾部附加数据
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
文件路径
头部附加数据,可以为null
尾部附加数据,可以为null
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
tcp client
包体解析对象类型
解析请求包体对象事件
数据接收适配器
tcp client
读取或设置通信数据缓冲区大小(根据平均通信数据包大小调整设置,通常设置为:(N * 1024) - sizeof(TBufferObj))
读取或设置心跳包间隔(毫秒,0 则不发送心跳包)
读取或设置心跳确认包检测间隔(毫秒,0 不发送心跳包,如果超过若干次 [默认:WinXP 5 次, Win7 10 次] 检测不到心跳确认包则认为已断线)
获取或设置是否开启 nodelay 模式 (默认: false, 不开启)
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
文件路径
头部附加数据
尾部附加数据
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
文件路径
头部附加数据,可以为null
尾部附加数据,可以为null
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
tcp pack agent
读取或设置数据包最大长度,有效数据包最大长度不能超过 4194303/0x3FFFFF 字节,默认:262144/0x40000
读取或设置包头标识,有效包头标识取值范围 0 ~ 1023/0x3FF,当包头标识为 0 时不校验包头,默认:0
tcp pack client
读取或设置数据包最大长度,有效数据包最大长度不能超过 4194303/0x3FFFFF 字节,默认:262144/0x40000
读取或设置包头标识,有效包头标识取值范围 0 ~ 1023/0x3FF,当包头标识为 0 时不校验包头,默认:0
tcp pack server
读取或设置数据包最大长度,有效数据包最大长度不能超过 4194303/0x3FFFFF 字节,默认:262144/0x40000
读取或设置包头标识,有效包头标识取值范围 0 ~ 1023/0x3FF,当包头标识为 0 时不校验包头,默认:0
tcp 端口转发
server 连接进入
server 数据到达
server 连接离开
agent 连接成功(使用代理连接时,代理连接成功才会进入)
agent 数据到达
agent 连接断开
内部server对象
内部agent对象
本地绑定地址, 默认0.0.0.0
本地绑定端口
目标服务器地址
目标服务器端口
转发服务器和客户端工作线程数, 通常设置为 2 * CPU + 2
注意: 当前值是每个组件的工作线程数, 比如设置为5, 服务器和客户端各5个, 一共10个工作线程
最大连接数, 默认10000
连接目标服务器的超时时间, 默认0, 不启用, 使用系统默认时间
代理列表
转发访问目标服务器时,可以使用代理
错误码
错误信息
开启服务
停止服务
根据Agent组件的连接id设置附加数据
根据Server组件的连接id设置附加数据
根据Agent组件的连接id获取附加数据
根据Server组件的连接id获取附加数据
tcp pull agent
数据到达事件
抓取数据,用户通过该方法从 Socket 组件中抓取数据
抓取数据,用户通过该方法从 Socket 组件中抓取数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
tcp pull client
数据到达事件
抓取数据,用户通过该方法从 Socket 组件中抓取数据
抓取数据,用户通过该方法从 Socket 组件中抓取数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
tcp pull server
数据到达事件
抓取数据,用户通过该方法从 Socket 组件中抓取数据
抓取数据,用户通过该方法从 Socket 组件中抓取数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
窥探数据(不会移除缓冲区数据),用户通过该方法从 Socket 组件中窥探数据
tcp server
包体解析对象类型
解析请求包体对象事件
数据接收适配器
tcp server
读取或设置 Accept 预投递数量(根据负载调整设置,Accept 预投递数量越大则支持的并发连接请求越多)
读取或设置通信数据缓冲区大小(根据平均通信数据包大小调整设置,通常设置为 1024 的倍数)
读取或设置监听 Socket 的等候队列大小(根据并发连接数量调整设置)
读取或设置心跳包间隔(毫秒,0 则不发送心跳包)
读取或设置心跳确认包检测间隔(毫秒,0 不发送心跳包,如果超过若干次 [默认:WinXP 5 次, Win7 10 次] 检测不到心跳确认包则认为已断线)
获取或设置是否开启 nodelay 模式 (默认: false, 不开启)
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
文件路径
头部附加数据
尾部附加数据
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
发送本地小文件
向指定连接发送 4096 KB 以下的小文件
文件路径
头部附加数据,可以为null
尾部附加数据,可以为null
true.成功,false.失败,可通过 SYSGetLastError() 获取 Windows 错误代码
udp arq client
获取或设置是否开启 NoDelay 模式
获取或设置是否关闭拥塞控制(默认:false,不关闭)
获取或设置数据刷新间隔(毫秒,默认:20)
获取或设置快速重传 ACK 跨越次数(默认:0,关闭快速重传)
获取或设置发送窗口大小(数据包数量,默认:128)
获取或设置接收窗口大小(数据包数量,默认:512)
获取或设置最小重传超时时间(毫秒,默认:30)
获取或设置最大传输单元(默认:0,与 MaxDataGramSize 一致)
获取或设置最大数据包大小(默认:4096)
获取或设置握手超时时间(毫秒,默认:5000)
获取或设置快速握手次数限制(默认:5,如果为 0 则不限制
获取等待发送包数量
udp arq server
获取或设置是否开启 NoDelay 模式
获取或设置是否关闭拥塞控制(默认:false,不关闭)
获取或设置数据刷新间隔(毫秒,默认:20)
获取或设置快速重传 ACK 跨越次数(默认:0,关闭快速重传)
获取或设置发送窗口大小(数据包数量,默认:128)
获取或设置接收窗口大小(数据包数量,默认:512)
获取或设置最小重传超时时间(毫秒,默认:30)
获取或设置最大传输单元(默认:0,与 MaxDataGramSize 一致)
获取或设置最大数据包大小(默认:4096)
获取或设置握手超时时间(毫秒,默认:5000)
获取或设置快速握手次数限制(默认:5,如果为 0 则不限制
获取等待发送包数量
udp cast
获取或设置数据报文最大长度
建议在局域网环境下不超过 1472 字节,在广域网环境下不超过 548 字节
获取或设置传播模式(组播或广播)
获取或设置组播报文的 TTL(0 - 255)
获取或设置是否启用组播环路
获取当前数据报的远程地址信息(通常在 OnReceive 事件中调用)
udp client
获取或设置数据报文最大长度
建议在局域网环境下不超过 1472 字节,在广域网环境下不超过 548 字节
获取或设置监测包尝试次数
0 则不发送监测跳包,如果超过最大尝试次数则认为已断线
获取或设置心跳检查次数
udp node
监听地址,默认0.0.0.0
本地端口,默认0
准备监听了事件
数据包发送事件
数据到达事件
发生了错误事件
关闭服务事件
检查通信组件是否已启动
查看通信组件当前状态
获取传播模式
获取未发出数据的长度
获取或设置数据报文最大长度(建议在局域网环境下不超过 1432 字节,在广域网环境下不超过 548 字节)
获取或设置是否使用地址重用机制(默认:不启用)
获取或设置组播报文的 TTL(0 - 255)
获取或设置是否启用组播环路
获取或设置工作线程数量(通常设置为 2 * CPU + 2)
获取或设置 Receive 预投递数量(根据负载调整设置,Receive 预投递数量越大则丢包概率越小)
获取或设置内存块缓存池大小
获取或设置内存块缓存池回收阀值
获取或设置地址重用选项
获取错误码
获取错误信息
附加数据
启动 UDP 节点通信组件,启动完成后可开始收发数据
启动 UDP 节点通信组件,启动完成后可开始收发数据
传播模式(默认:UniCast)
传播地址(默认:null,当 caseMode 为 Multicast 或 Broadcast 时有效)
关闭通信组件
向指定地址发送数据
向指定地址发送数据
发送缓冲区偏移量
发送多组数据
向指定地址发送多组数据,把所有数据包组合成一个数据包发送(数据包的总长度不能大于设置的 UDP 包最大长度)
发送缓冲区数组
发送缓冲区数目
向传播地址发送数据
向传播地址发送数据
发送缓冲区偏移量
发送多组数据
向传播地址发送多组数据,把所有数据包组合成一个数据包发送(数据包的总长度不能大于设置的 UDP 包最大长度)
发送缓冲区数组
发送缓冲区数目
获取本节点地址
获取本节点传播地址
udp server
获取或设置数据报文最大长度
建议在局域网环境下不超过 1472 字节,在广域网环境下不超过 548 字节
获取或设置 Receive 预投递数量
根据负载调整设置,Receive 预投递数量越大则丢包概率越小
获取或设置监测包尝试次数
0 则不发送监测跳包,如果超过最大尝试次数则认为已断线
获取或设置心跳检查次数
web socket server/agent 公共接口
忽略压缩扩展, 默认false
如果忽略, 则不支持压缩解压缩
开放式http server/agent对象, 对 http 连接有 cookie 或者 header 操作, 直接调用这个对象操作
Uri
是否安全连接
最大封包长度, 默认0, 不限制
ssl环境配置
支持的子协议, 默认空, 不限制
启动服务
停止服务
发送数据
发送数据
发送文本消息
发送ping消息
发送pong消息
发送关闭消息同时关闭连接
获取所有连接
websocket agent
本地绑定地址, 默认0.0.0.0
默认掩码, 默认值: byte[] { 0x01, 0x02, 0x03, 0x04 }
浏览器 User-Agent, 默认 chrome78.0.3904.97 的 User-Agent
cookie
附加请求头, 除去UserAgent和Cookie头之外, 还想附加别的http请求头, 在此设置, 将在第一次访问, 升级协议的时候附加这些请求头
连接超时时间
获取是否启动
cont/text/binary 消息
握手成功, 打开/进入 连接
连接关闭
ping消息
pong消息
连接到目标 web socket 服务器
发送数据
发送数据
web socket server
自动发送ping消息的时间间隔
毫秒,0不自动发送,默认不发送(多数分机房的防火墙都在1分钟检测空连接,超时无交互则被踢,如果间隔过长,可能被机房防火墙误杀)
目前浏览器都不支持在客户端发送ping消息,所以一般在服务器发送ping,在客户端响应接收到ping消息之后再对服务器发送pong,或客户端主动pong,服务器响应pong再发送ping给客户端
获取是否启动
获取指定连接的子协议
获取连接的http会话信息
对path注册特定服务
例如: AddHub<Chat>("/chat")
继承自THub的类
url path
对path注册特定服务且绑定到已有对象实例
例如: AddHub<Chat>("/chat", form1)
继承自THub的类
url path
已THub类型的对象实例,例如:form1
获取指定类型的已注册过的服务
继承自THub的类
path有效返回对象,path无效返回T的默认类型
移除已注册的服务
代理连接状态
正常收发
socks5 获取受支持的认证方法; http 发送connect方法
socks5 获取受支持的认证方法; http 判断连接是否成功
socks5 连接目标服务器; http 未使用
设置远程地址端口
获取连接代理需要的数据
是否连接代理成功
设置远程地址端口
获取连接代理需要的数据
获取认证数据
检查子版本
获取连接目标服务器的数据
是否连接代理成功
IP 地址类型枚举值
所有
IPv4
IPv6
域名
hp socket library path
hp socket库名称,win、linux、mac会自动加后缀
获取 hp socket版本号
获取主机地址类型
获取 HPSocket 版本号(4 个字节分别为:主版本号,子版本号,修正版本号,构建编号)
获取错误描述文本
调用系统的 GetLastWin32Error() 方法获取系统错误代码
调用系统的 GetLastWin32Error() 方法获取系统错误代码
调用系统的 ::WSAGetLastError() 方法获取通信错误代码
调用系统的 ::WSAGetLastError() 方法获取通信错误代码
调用系统的 setsockopt()
调用系统的 setsockopt()
调用系统的 getsockopt()
调用系统的 getsockopt()
调用系统的 ioctlsocket()
调用系统的 ::WSAIoctl()
设置 socket 选项:IPPROTO_TCP -> TCP_NODELAY
设置 socket 选项:SOL_SOCKET -> SO_DONTLINGER
设置 socket 选项:SOL_SOCKET -> SO_LINGER
设置 socket 选项:SOL_SOCKET -> SO_RCVBUF
设置 socket 选项:SOL_SOCKET -> SO_SNDBUF
设置 socket 选项:SOL_SOCKET -> SO_RCVTIMEO
设置 socket 选项:SOL_SOCKET -> SO_SNDTIMEO
设置 socket 选项:SOL_SOCKET -> SO_EXCLUSIVEADDRUSE
设置 socket 选项:SOL_SOCKET -> SO_EXCLUSIVEADDRUSE / SO_REUSEADDR
获取 SOCKET 本地地址信息
传入传出值,大小最好在222.222.222.222的长度以上
获取 SOCKET 远程地址信息
传入传出值,大小最好在222.222.222.222的长度以上
枚举主机 IP 地址
不要用,未测试
不要用,未测试
不要用,未测试
释放 HP_LPTIPAddr
检查字符串是否符合 IP 地址格式
通过主机名获取 IP 地址
64 位网络字节序转主机字节序
64 位主机字节序转网络字节序
短整型高低字节交换
长整型高低字节交换
检查是否小端字节序
分配内存
重新分配内存
释放内存
Brotli 压缩
0.成功,-3.输入数据不正确,-5.输出缓冲区不足
Brotli 高级压缩
0.成功,-3.输入数据不正确,-5.输出缓冲区不足
Brotli 解压
0.成功,-3.输入数据不正确,-5.输出缓冲区不足
Brotli 推测压缩结果长度
SSL WebSocketSession 信息类型,用于 GetSSLSessionInfo(),标识输出的 WebSocketSession 信息类型
min
SSL CTX(输出类型:SSL_CTX*)
SSL CTX Method (输出类型:SSL_METHOD*)
SSL CTX Ciphers (输出类型:STACK_OF(SSL_CIPHER)*)
SSL CTX Cert Store (输出类型:X509_STORE*)
Server Name Type (输出类型:int)
Server Name (输出类型:LPCSTR)
SSL Version (输出类型:LPCSTR)
SSL Method (输出类型:SSL_METHOD*)
SSL Cert (输出类型:X509*)
SSL Private Name (输出类型:EVP_PKEY*)
SSL Current Cipher (输出类型:SSL_CIPHER*)
SSL Available Ciphers(输出类型:STACK_OF(SSL_CIPHER)*)
SSL Client Ciphers (输出类型:STACK_OF(SSL_CIPHER)*)
SSL Peer Cert (输出类型:X509*)
SSL Peer Cert Chain (输出类型:STACK_OF(X509)*)
SSL Verified Chain (输出类型:STACK_OF(X509)*)
max
标识 SSL 的工作模式,客户端模式或服务端模式
客户端模式
服务端模式
SSL 验证模式选项,SSL_VM_PEER 可以和后面两个选项组合一起
SSL_VERIFY_NONE
SSL_VERIFY_PEER
SSL_VERIFY_FAIL_IF_NO_PEER_CERT
SSL_VERIFY_CLIENT_ONCE
ssl 基础接口
获取或设置 SSL 加密算法列表
使用方法请参阅: 和
获取或设置通信组件握手方式(默认:true,自动握手)
验证模式
证书文件(客户端可选)
私钥文件(客户端可选)
私钥密码(没有密码则为空)
CA 证书文件或目录(单向验证或客户端可选)
初始化ssl环境
是否从内存加载证书,如果为false,[PemCertFile,PemKeyFile,CaPemCertFileOrPath]这些属性应该是文件路径;如果为true,[PemCertFile,PemKeyFile,CaPemCertFileOrPath]这些属性应该是证书文件的内容,而不是文件路径
卸载ssl环境
ssl agent
包体解析对象类型
获取或设置是否初始化ssl环境
启动服务
释放资源
ssl client
包体解析对象类型
获取或设置是否初始化ssl环境
启动通讯组件并连接到服务器
启动通讯组件并连接到服务器
远程服务器地址
远程服务器端口
释放资源
ssl server
包体解析对象类型
ssl server
获取或设置是否初始化ssl环境
启动服务
释放资源
ssl 工具类
SNI 默认回调函数
SSL Server 的 SetupSSLContext 方法中如果不指定 SNI 回调函数则使用此 SNI 默认回调函数
请求域名
ssl context 对象
SNI 主机证书对应的索引
清理线程局部环境 SSL 资源
清理 SSL 全局运行环境,回收 SSL 相关内存
任何一个操作 SSL 的线程,通信结束时都需要清理线程局部环境 SSL 资源
1、主线程和 HP-Socket 工作线程在通信结束时会自动清理线程局部环境 SSL 资源。因此,一般情况下不必手工调用本方法
2、特殊情况下,当自定义线程参与 HP-Socket 通信操作并检查到 SSL 内存泄漏时,需在每次通信结束时自定义线程调用本方法
数据抓取结果,数据抓取操作的返回值
成功
抓取长度过大
找不到 ConnID 对应的数据
连接状态
连接中
已连接
连接超时
已关闭
释放方式
tcp agent
包体解析对象类型
tcp agent
tcp client
包体解析对象类型
tcp client
tcp pack agent
tcp pack client
tcp pack server
是否释放了
是否初始化了
server
agent
该属性不适用在当前组件
当前组件版本
初始化
设置错误信息
设置错误信息
释放资源
释放资源
tcp 端口转发附加数据
server 对应的 conn id
agent 对应的 conn id
server 对象
agent 对象
释放方式
附加数据
tcp pull agent
tcp pull client
tcp pull server
tcp server
包体解析对象类型
tcp server
任务处理函数
任务处理入口函数
自定义参数
任务处理函数扩展板
任务处理入口函数
自定义参数
Socket 任务处理函数
Socket 任务处理入口函数
task -- Socket 任务结构体指针
拒绝策略, 调用被拒绝后的处理策略
立刻返回失败
等待(直到成功、超时或线程池关闭等原因导致失败)
调用者线程直接执行
任务缓冲区类型, SocketTask 对象创建和销毁时,根据不同类型的缓冲区类型作不同的处理
深拷贝
浅拷贝
连接(不负责创建,但负责销毁)
Socket 任务结构体, 封装 Socket 任务相关数据结构
任务处理函数
发起对象
连接 Id
数据缓冲区
数据缓冲区长度
缓冲区类型
自定义参数
自定义参数
线程池
是否释放了
线程池指针
附加数据, 用于管理扩展板回调函数参数
任务回调函数, 用于产生扩展板回调函数
系统错误码
启动线程池组件
线程数量, 大于0: dwThreadCount, 等于0: (CPU核数* 2 + 2), 小于0: (CPU核数* (-threadCount))
任务拒绝处理策略
任务队列最大容量(0:不限制,默认:0)
线程堆栈空间大小(默认:0 -> 操作系统默认)
true: 成功, false: 失败,可通过 SysErrorCode 属性 获取系统错误代码
在规定时间内关闭线程池组件,如果工作线程在最大等待时间内未能正常关闭,会尝试强制关闭,这种情况下很可能会造成系统资源泄漏
最大等待时间(毫秒,默认:INFINITE即-1,一直等待)
true: 成功, false: 失败,可通过 SysErrorCode 属性 获取系统错误代码
向线程池提交异步任务
任务处理函数
任务参数
最大等待时间(毫秒,默认:INFINITE即-1,一直等待)
true: 成功, false: 失败,可通过 SysErrorCode 属性 获取系统错误代码,其中,错误码 ERROR_DESTINATION_ELEMENT_FULL 表示任务队列已满
TaskProc 转 TaskProcEx
增加或减少线程池的工作线程数量
线程数量, 大于0: count, 等于0: (CPU核数 * 2 + 2), 小于0: (CPU核数 * (-count))
true: 成功, false: 失败,可通过 SysErrorCode 属性 获取系统错误代码
等待线程池组件停止运行
等待线程池组件停止运行
在规定时间内关闭线程池组件,如果工作线程在最大等待时间内未能正常关闭,会尝试强制关闭,这种情况下很可能会造成系统资源泄漏
最大等待时间(毫秒,默认:INFINITE即-1,一直等待)
true: 成功, false: 失败,可通过 SysErrorCode 属性 获取系统错误代码
获取当前正在执行的任务数量
获取或设置线程池数量
设置线程池数量时, 大于0: count, 等于0: (CPU核数 * 2 + 2), 小于0: (CPU核数 * (-count))
检查线程池组件是否已启动
查看线程池组件当前状态
获取当前任务队列大小
获取任务队列最大容量
获取任务拒绝处理策略
获取系统返回的错误码
释放资源
释放资源
任务参数
任务回调地址
播送模式 UDP 组件的播送模式(组播或广播)
单播
组播
广播
是否释放了
监听对象指针
创建socket监听和服务组件
终止服务并释放资源
释放资源
释放资源
指定压缩方法
不指定压缩
指定 DEFLATE
帧类型
延续帧 - 非控制帧
文本帧 - 非控制帧
二进制帧 - 非控制帧
关闭帧 - 控制帧
ping帧 - 控制帧
pong帧 - 控制帧
指示 web socket 帧的每个RSV(RSV1、RSV2和RSV3)的值
表示全部为0
表示 RSV1 = 1, 压缩位
cookie list
header list
query string
web socket hub
获取连接到当前Hub的连接
cont/text/binary 消息
握手成功, 打开/进入 连接
连接关闭
ping 消息
pong 消息
web socket hub
cont/text/binary 消息
握手成功, 打开/进入 连接
连接关闭
ping 消息
pong 消息
web socket message state
是否结束帧
是否是最后1帧,1个消息由1个或多个数据帧构成,若消息由1帧构成,起始帧就是结束帧。
RSV1/RSV2/RSV3 各 1 位
帧类型
掩码
消息总长度
bodyLen 等于 0: 消息总长度为 length
bodyLen 等于 length: 消息总长度为 bodyLen
bodyLen 大于 0: 消息总长度为 bodyLen,后续消息体长度为 bodyLen - length,后续消息体通过底层方法 Text() / SendPackets() 发送
bodyLen 小于 0: 错误参数,发送失败
剩余
ssl configuration
验证模式
证书文件(客户端可选)
私钥文件(客户端可选)
私钥密码(没有密码则为空)
CA 证书文件或目录(单向验证或客户端可选)
从内存加载证书
创建websocket客户端实例
协议地址, 例如ws://127.0.0.1:8080/chat或wss://127.0.0.1:8080/chat
支持的子协议
发送数据
释放资源
释放资源
释放资源
处理 Sec-WebSocket-Extensions 头
抄自 websocket-sharp
https://github.com/sta/websocket-sharp
ping消息定时器
释放资源
释放资源
释放资源
web socket 连接对象的会话
是否结束帧
是否是最后1帧,1个消息由1个或多个数据帧构成,若消息由1帧构成,起始帧就是结束帧。
RSV1/RSV2/RSV3 各 1 位
帧类型
掩码
访问路径
协议
扩展
Key
每帧压缩方法
连接对象的完整数据