Go で WebSocket サーバーをデプロイするには、次の手順が必要です: WebSocket をサポートする Web サーバーを選択して構成します。 http.ListenAndServe 関数を使用して Go WebSocket サーバーを開始します。 WebSocketHandler 関数で、メッセージの送受信を含む WebSocket 接続を処理します。実際のケースでは、Go と Nginx を使用して単純な WebSocket サーバーをデプロイする方法を示します。
Go WebSocket: 本番環境での導入ガイド
最新の Web 開発において、WebSocket はサーバーとクライアント間の双方向のリアルタイム通信を可能にする重要なテクノロジです。 Go 言語は WebSocket をネイティブにサポートしているため、開発者は堅牢で効率的な WebSocket サーバーを作成できます。
WebSocket サーバーのデプロイ
実稼働環境に Go WebSocket サーバーをデプロイするには、いくつかの手順が必要です:
location /ws { proxy_pass http://localhost:8080; proxy_websocket on; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }
http.ListenAndServe
関数を使用して、指定したポートで Go WebSocket サーバーを起動します。例: package main import ( "log" "net/http" ) func main() { mux := http.NewServeMux() // 添加 WebSocket 处理程序 mux.HandleFunc("/ws", WebSocketHandler) log.Printf("Server listening on port 8080") http.ListenAndServe(":8080", mux) }
WebSocketHandler 関数は、受信 WebSocket 接続を処理します。メッセージの送受信、エラーの処理、接続の終了を行うことができます。
実際的なケース:
ここでは、Go と Nginx を使用して単純な WebSocket サーバーをデプロイする例を示します:
func WebSocketHandler(w http.ResponseWriter, r *http.Request) { upgrader := websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, } conn, err := upgrader.Upgrade(w, r, nil) if err != nil { w.WriteHeader(http.StatusBadRequest) return } defer conn.Close() // 从客户端接收并回显消息 for { messageType, p, err := conn.ReadMessage() if err != nil { log.Println(err) break } conn.WriteMessage(messageType, p) } }
location /ws { proxy_pass http://localhost:8080; proxy_websocket on; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; }
$ go build $ ./websocket-server
ws://localhost:8080/ws
これで、サーバーと対話して、実際のデータを送受信できるようになります。時間のメッセージ。
以上がGo WebSocket を実稼働環境にデプロイするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。