利用Go语言搭建WebSocket服务端方法示例
程序员文章站
2022-03-20 17:13:36
go 搭建一个简单 websocket 服务端代码例子 test.go, 如下:
package main
import (
"fmt"
"log...
go 搭建一个简单 websocket 服务端代码例子 test.go, 如下:
package main import ( "fmt" "log" "net/http" "golang.org/x/net/websocket" ) func echo(ws *websocket.conn) { var err error for { var reply string if err = websocket.message.receive(ws, &reply); err != nil { fmt.println("can't receive") break } fmt.println("received back from client: " + reply) msg := "received: " + reply fmt.println("sending to client: " + msg) if err = websocket.message.send(ws, msg); err != nil { fmt.println("can't send") break } } } func main() { http.handle("/", websocket.handler(echo)) if err := http.listenandserve(":1234", nil); err != nil { log.fatal("listenandserve:", err) } }
运行服务端:
go run test.go
在 firefox 或 chrome 控制台,可以用以下代码发起客户端的 websocket 连接:
var wsserver = 'ws://localhost:1234'; var websocket = new websocket(wsserver); websocket.onopen = function (evt) { console.log("connected to websocket server."); }; websocket.onclose = function (evt) { console.log("disconnected"); }; websocket.onmessage = function (evt) { console.log('retrieved data from server: ' + evt.data); }; websocket.onerror = function (evt, e) { console.log('error occured: ' + evt.data); };
执行以上代码,得到输出日志:connected to websocket server,表示 websocket 连接建立成功。
使用如下代码可以发送数据,如:
websocket.send(2323)
并且马上得到服务端返回的内容,这里是原样返回。
服务端日志如下:
这就使用 go 搭建了一个简单的 websocket 服务端。
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。
上一篇: 数据库重点知识-表操作(CRUD)
下一篇: redis学习笔记一