Rumah >pembangunan bahagian belakang >Golang >Ketahui fungsi pengaturcaraan rangkaian dalam bahasa Go dan laksanakan komunikasi masa nyata dengan pelayan WebSocket?
Ketahui fungsi pengaturcaraan rangkaian dalam bahasa Go dan laksanakan komunikasi masa nyata dengan pelayan WebSocket
Dalam era Internet hari ini, komunikasi masa nyata menjadi semakin penting dalam banyak aplikasi. Untuk mencapai komunikasi masa nyata, ramai pembangun akan memilih untuk menggunakan protokol WebSocket kerana ia menyediakan cara untuk mencapai komunikasi dua hala antara pelanggan dan pelayan. Dalam artikel ini, kita akan mempelajari fungsi pengaturcaraan rangkaian dalam bahasa Go dan menggunakannya untuk melaksanakan pelayan WebSocket mudah untuk komunikasi masa nyata.
Sebelum kita mula, kita perlu memasang persekitaran pembangunan bahasa Go. Saya tidak akan menerangkan butiran di sini Jika anda belum memasangnya lagi, sila rujuk tapak web rasmi bahasa Go untuk memasangnya.
Pertama, kita perlu menggunakan pakej net/http bahasa Go untuk membina pelayan HTTP asas, dan kemudian gunakan pakej gorila/soket web untuk mengendalikan sambungan WebSocket dengan pelanggan.
import ( "log" "net/http" "github.com/gorilla/websocket" )
var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, }
func wsHandler(w http.ResponseWriter, r *http.Request) { conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println(err) return } for { messageType, message, err := conn.ReadMessage() if err != nil { log.Println(err) return } log.Printf("Received message: %s ", message) if err := conn.WriteMessage(messageType, message); err != nil { log.Println(err) return } } }
func helloHandler(w http.ResponseWriter, r *http.Request) { http.ServeFile(w, r, "index.html") }
func main() { http.HandleFunc("/ws", wsHandler) http.HandleFunc("/", helloHandler) log.Println("Server starting on localhost:8080") http.ListenAndServe(":8080", nil) }
Atas ialah kandungan terperinci Ketahui fungsi pengaturcaraan rangkaian dalam bahasa Go dan laksanakan komunikasi masa nyata dengan pelayan WebSocket?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!