Golang 搭建 WebSocket 应用 - 初识 gorilla/websocket
warning:
这篇文章距离上次修改已过198天,其中的内容可能已经有所变动。
package main
import (
"net/http"
"github.com/gorilla/websocket"
)
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
}
func echo(w http.ResponseWriter, r *http.Request) {
ws, err := upgrader.Upgrade(w, r, nil)
if err != nil {
println("upgrade:", err)
return
}
defer ws.Close()
for {
mt, message, err := ws.ReadMessage()
if err != nil {
println("read:", err)
break
}
println("recv:", string(message))
err = ws.WriteMessage(mt, message)
if err != nil {
println("write:", err)
break
}
}
}
func main() {
http.HandleFunc("/echo", echo)
err := http.ListenAndServe(":8080", nil)
if err != nil {
println("ListenAndServe:", err)
}
}
这段代码使用了gorilla/websocket库来创建一个简单的WebSocket服务器。它定义了一个upgrader
用于将HTTP连接升级为WebSocket连接,并提供了一个echo
处理函数,它接收客户端发送的消息,并将其原样发送回客户端。服务器监听8080端口上的/echo
路径。
评论已关闭