golang WebSocketを構築する方法
GolangのWebSocketを構築するには、次の手順を実行します。
- ネット/HTTP
- github.com/gorilla/websocket のネイティブな日本語のパラフレーズ:1 つだけ必要
import (
"net/http"
"github.com/gorilla/websocket"
)
- アップグレード
var upgrader = websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
CheckOrigin: func(r *http.Request) bool {
// 允许跨域请求
return true
},
}
func Upgrade(w http.ResponseWriter, r *http.Request) (*websocket.Conn, error) {
conn, err := upgrader.Upgrade(w, r, nil)
if err != nil {
return nil, err
}
return conn, nil
}
- WebSocketリクエストを処理するハンドラ関数を定義する:
func WebSocketHandler(w http.ResponseWriter, r *http.Request) {
conn, err := Upgrade(w, r)
if err != nil {
// 处理升级失败的情况
return
}
// 在这里编写你的逻辑代码
// 关闭WebSocket连接
defer conn.Close()
}
- HTTPサーバーを作成し、Websocket のハンドラ関数を任意のパスにバインドする:
func main() {
http.HandleFunc("/ws", WebSocketHandler)
http.ListenAndServe(":8080", nil)
}
以上の手順で WebSocket の基本は構築できました。あとは自分のニーズに合わせて、WebSocket 処理関数内で具体的なビジネスロジックを書いてください。