阅读量:0
使用Golang编写WebSocket应用程序可以使用一些流行的框架,例如Gorilla WebSocket或Melody。下面是使用Gorilla WebSocket框架的简单示例:
首先,确保你已经安装了Golang,并且已经设置好了工作目录。
使用go get命令获取Gorilla WebSocket包:
go get github.com/gorilla/websocket
- 在你的代码中导入Gorilla WebSocket包:
import ( "github.com/gorilla/websocket" )
- 创建WebSocket处理程序:
// 定义一个全局的upgrader变量 var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, } func websocketHandler(w http.ResponseWriter, r *http.Request) { // Upgrade HTTP连接为WebSocket连接 conn, err := upgrader.Upgrade(w, r, nil) if err != nil { log.Println(err) return } // 在连接关闭时执行的清理操作 defer conn.Close() // 处理WebSocket消息 for { messageType, p, err := conn.ReadMessage() if err != nil { log.Println(err) return } // 在这里处理接收到的消息 // 回复消息 err = conn.WriteMessage(messageType, p) if err != nil { log.Println(err) return } } }
- 创建一个HTTP服务器,并将WebSocket处理程序注册到路由中:
func main() { http.HandleFunc("/ws", websocketHandler) http.ListenAndServe(":8080", nil) }
- 运行你的程序并通过浏览器访问
http://localhost:8080/ws
来建立WebSocket连接。
以上是一个简单的示例,你可以根据自己的需求进行更多的扩展和定制。Gorilla WebSocket框架提供了丰富的功能和选项,你可以查阅官方文档来了解更多详情:https://pkg.go.dev/github.com/gorilla/websocket