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 每帧压缩方法 连接对象的完整数据