Rumah > Artikel > pembangunan bahagian belakang > Bagaimana untuk menggunakan Go WebSocket dalam persekitaran pengeluaran?
Menggunakan pelayan WebSocket dalam Go memerlukan langkah berikut: Pilih dan konfigurasikan pelayan web untuk menyokong WebSocket. Mulakan pelayan Go WebSocket menggunakan fungsi http.ListenAndServe. Mengendalikan sambungan WebSocket, termasuk menghantar dan menerima mesej, dalam fungsi WebSocketHandler. Kes praktikal menunjukkan cara menggunakan pelayan WebSocket mudah menggunakan Go dan Nginx.
Go WebSocket: Panduan Penggunaan dalam Pengeluaran
Dalam pembangunan web moden, WebSocket ialah teknologi penting yang membolehkan komunikasi dua hala, masa nyata antara pelayan dan pelanggan. Bahasa Go secara asli menyokong WebSocket, membolehkan pembangun mencipta pelayan WebSocket yang mantap dan cekap.
Menggunakan Pelayan WebSocket
Menggunakan pelayan Go WebSocket dalam persekitaran pengeluaran memerlukan beberapa langkah:
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
untuk memulakan pelayan Go WebSocket anda pada port yang ditentukan. Contohnya: 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 fungsi mengendalikan sambungan WebSocket masuk. Ia boleh menghantar dan menerima mesej, mengendalikan ralat dan menutup sambungan.
Kes praktikal:
Berikut ialah contoh menggunakan pelayan WebSocket mudah menggunakan Go dan Nginx:
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/wsKini anda boleh berinteraksi dengan pelayan, menghantar dan menerima sebenar mesej masa. 🎜
Atas ialah kandungan terperinci Bagaimana untuk menggunakan Go WebSocket dalam persekitaran pengeluaran?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!