package main

import ( "fmt" "log" "net/http"

"github.com/gorilla/websocket"

)

var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, }

func main() { http.HandleFunc("/ws", handleWebSocket) log.Fatal(http.ListenAndServe(":8080", nil)) }

func handleWebSocket(w http.ResponseWriter, r *http.Request) { conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println(err) return } defer conn.Close()

for {
	// 读取客户端发来的消息
	_, message, err := conn.ReadMessage()
	if err != nil {
		log.Println(err)
		return
	}
	fmt.Printf("收到消息: %s\n", message)

	// 发送消息给客户端
	err = conn.WriteMessage(websocket.TextMessage, []byte("你好,客户端"))
	if err != nil {
		log.Println(err)
		return
	}
}

}

// 客户端使用 JavaScript 代码发送和接收消息 // var ws = new WebSocket("ws://localhost:8080/ws"); // ws.onopen = function() { // ws.send("你好,服务器"); // } // ws.onmessage = function(evt) { // console.log(evt.data); // }

golang 实现websocket 一对一 通讯

原文地址: https://www.cveoy.top/t/topic/tdI 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录