// Package websocket 定义通信传输层接口. // // 对应原项目中同名模块的功能. // 引擎不关心底层用什么协议通信,通过接口抽象. // // 实现: // - WebSocketTransport: 基于标准库的 WebSocket 实现(见 websocket.go) package websocket import "context" // Transport 是传输层接口. // 所有传输实现(WebSocket,stdio,HTTP SSE 等)都需要满足此接口. type Transport interface { // Connect 建立连接. // ctx 用于控制连接的生命周期. Connect(ctx context.Context) error // Send 发送数据. // 如果连接断开且实现支持缓冲,数据可能被缓存等待重连. Send(data []byte) error // Receive 返回接收数据的 channel. // 消费者通过 for range 读取收到的消息. // channel 关闭表示连接已终止. Receive() <-chan []byte // Close 优雅关闭连接. Close() error } // MessageType 定义消息类型常量. const ( MessageText = 1 // 文本消息 MessageBinary = 2 // 二进制消息 ) // MessageHandler 是消息回调函数类型. // msgType 是消息类型(MessageText 或 MessageBinary),data 是消息内容. type MessageHandler func(msgType int, data []byte)