Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan Go WebSocket dalam persekitaran pengeluaran?

Bagaimana untuk menggunakan Go WebSocket dalam persekitaran pengeluaran?

WBOY
WBOYasal
2024-06-04 11:59:571128semak imbas

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 如何在生产环境中部署?

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:

  1. Pilih pelayan web: Anda boleh menggunakan mana-mana pelayan web yang mematuhi HTTP/1.1 protokol, seperti Nginx , Apache atau Caddy.
  2. Konfigurasikan Pelayan Web: Konfigurasikan pelayan web anda untuk memajukan permintaan WebSocket ke pelayan Go anda. Contohnya, dalam Nginx, anda boleh menambah baris berikut pada fail konfigurasi anda:
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";
}
  1. Mulakan pelayan Go: Gunakan fungsi 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:

  1. Dalam kod Go, cipta pengendali WebSocket berikut:
    konfigurasi fail Ngi
    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)
      }
    }
  1. konfigurasi pemajuan WebSocket berikut:
    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";
    }
  1. Bina dan jalankan pelayan Go:
    $ go build
    $ ./websocket-server
  1. Dalam penyemak imbas anda, sambung ke titik akhir WebSocket:

ws://localhost:8080/ws

Kini 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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn