go语言中websocket怎么使用

寻技术 Go编程 2024年10月22日 68

在Go语言中,使用WebSocket需要使用net/http包和github.com/gorilla/websocket包。

首先,导入所需的包:

import ( "net/http" "github.com/gorilla/websocket" )

接下来,创建一个websocket.Upgrader对象,用于将HTTP连接升级为WebSocket连接:

var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, }

然后,定义一个处理WebSocket连接的处理函数:

func websocketHandler(w http.ResponseWriter, r *http.Request) { // 将HTTP连接升级为WebSocket连接 conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println(err) return } defer conn.Close() // 处理WebSocket连接 for { // 读取客户端发送的消息 messageType, message, err := conn.ReadMessage() if err != nil { log.Println(err) break } // 对收到的消息进行处理 // ... // 发送消息给客户端 err = conn.WriteMessage(messageType, message) if err != nil { log.Println(err) break } } }

最后,在路由中注册WebSocket处理函数:

http.HandleFunc("/websocket", websocketHandler)

以上就是使用Go语言处理WebSocket连接的基本步骤。你可以根据实际需求对处理函数进行定制,比如加入消息处理逻辑、错误处理等。

关闭

用微信“扫一扫”