创建WebSocket服务器
定义
定义
命名空间:
TouchSocket.Http
TouchSocket.Http.WebSockets
安装:
dotnet add package TouchSocket.Http
一、说明
WebSocket
服务器是基于HTTP
协议升级而来的长连接通信协议服务器。它继承自HttpService
,在完成HTTP握手后,通过协议升级建立WebSocket连接。每个成功连接的客户端都会在服务器端创建一个对应的HttpSessionClient
实例,后续的所有WebSocket通信都通过该实例完成。
二、特点
- 基于HTTP协议升级,支持标准WebSocket协议。
- 支持文本、二进制以及其他Type数据传输。
- 内置心跳机制(Ping/Pong)。
- 支持数据帧分包和组合。
- 支持WSS(WebSocket Secure)加密连接。
- 支持多种连接验证方式。
- 高性能异步处理。
- 基于插件驱动,支持AOP编程。
三、产品应用场景
- 实时通信应用:聊天室、在线客服、实时协作等。
- 实时数据推送:股票行情、游戏数据、监控数据等。
- 物联网设备通信:传感器数据上报、设备控制等。
- Web应用实时交互:在线编辑器、实时画板等。
四、服务器架构
4.1 连接架构
WebSocket服务器基于HTTP服务器,当收到WebSocket握手请求时,会将HTTP连接升级为WebSocket连接。每个WebSocket连接对应一个HttpSessionClient
实例。
4.2 协议升级流程
- 客户端发送HTTP握手请求
- 服务器验证握手请求
- 服务器响应握手成功
- 连接升级为WebSocket协议
- 开始WebSocket数据帧通信