服务端 handler 接口改名 IWebsocketHandler → WebSocketHandler(仓颉推荐命名,去掉 I 前缀,不保留兼容),文件名同步为 websocket_handler.cj;README 与测试同步更新;版本 1.2.1

This commit is contained in:
2026-08-25 12:36:56 +08:00
parent cbfa3fcbdc
commit 4de6c72a32
6 changed files with 18 additions and 18 deletions
+4 -4
View File
@@ -29,7 +29,7 @@
```cangjie
import simcu::websocket.client.WebSocketClient
import simcu::websocket.server.WebSocketServer
import simcu::websocket.server.IWebsocketHandler
import simcu::websocket.server.WebSocketHandler
import simcu::websocket.server.WebSocketConnection
import simcu::websocket.common.WebSocketMessage
```
@@ -110,10 +110,10 @@ server.groups() // 所有组名(快照)
### Handler 接口
`IWebsocketHandler` 只关心连接生命周期回调;端点路径由 `addHandler(path, factory)` 注册时指定,handler 自身不感知。每个连接在握手成功时由工厂创建一个独立的 handler 实例,因此 handler 内可持有该连接的会话状态(如 connectionId / 组信息),但不要持有会跨连接共享的 scoped 服务。
`WebSocketHandler` 只关心连接生命周期回调;端点路径由 `addHandler(path, factory)` 注册时指定,handler 自身不感知。每个连接在握手成功时由工厂创建一个独立的 handler 实例,因此 handler 内可持有该连接的会话状态(如 connectionId / 组信息),但不要持有会跨连接共享的 scoped 服务。
```cangjie
public interface IWebsocketHandler {
public interface WebSocketHandler {
func onConnect(conn: WebSocketConnection): Unit
func onMessage(conn: WebSocketConnection, msg: WebSocketMessage): Unit
func onClose(conn: WebSocketConnection, code: Int64, reason: String): Unit
@@ -124,7 +124,7 @@ public interface IWebsocketHandler {
实现示例:
```cangjie
class MyHandler <: IWebsocketHandler {
class MyHandler <: WebSocketHandler {
public override func onConnect(conn: WebSocketConnection): Unit {
conn.joinGroup("authed") // 握手成功即入组
}