gorilla/websocket [14.5K]

最后更新于:2022-04-02 02:37:52

[TOC] > [github](https://github.com/gorilla/websocket) ## 安装 ``` go get github.com/gorilla/websocket ``` ## simple ``` var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, // 启用压缩,试验特性 EnableCompression: true, } func handler(w http.ResponseWriter, r *http.Request) { // 升级为WebSocket协议 conn, _ := upgrader.Upgrade(w, r, nil) for { // 回响服务 // 消息类型可以是websocket.BinaryMessage、websocket.TextMessage messageType, p, _ := conn.ReadMessage() conn.WriteMessage(messageType, p) // 也可以使用io.WriteCloser、io.Reader来收发消息 messageType, reader, _ := conn.NextReader() writer, _ := conn.NextWriter(messageType) io.Copy(writer, reader) // 一直读取到EOF writer.Close() } } ```
';