使用Golang編寫WebSocket應(yīng)用程序可以使用一些流行的框架,例如Gorilla WebSocket或Melody。下面是使用Gorilla WebSocket框架的簡單示例:
首先,確保你已經(jīng)安裝了Golang,并且已經(jīng)設(shè)置好了工作目錄。
使用go get命令獲取Gorilla WebSocket包:
go get github.com/gorilla/websocket
import (
"github.com/gorilla/websocket"
)
// 定義一個全局的upgrader變量
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
}
func websocketHandler(w http.ResponseWriter, r *http.Request) {
// Upgrade HTTP連接為WebSocket連接
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
log.Println(err)
return
}
// 在連接關(guān)閉時執(zhí)行的清理操作
defer conn.Close()
// 處理WebSocket消息
for {
messageType, p, err := conn.ReadMessage()
if err != nil {
log.Println(err)
return
}
// 在這里處理接收到的消息
// 回復消息
err = conn.WriteMessage(messageType, p)
if err != nil {
log.Println(err)
return
}
}
}
func main() {
http.HandleFunc("/ws", websocketHandler)
http.ListenAndServe(":8080", nil)
}
http://localhost:8080/ws
來建立WebSocket連接。以上是一個簡單的示例,你可以根據(jù)自己的需求進行更多的擴展和定制。Gorilla WebSocket框架提供了豐富的功能和選項,你可以查閱官方文檔來了解更多詳情:https://pkg.go.dev/github.com/gorilla/websocket