Go语言实现websocket与前端交互

来源:互联网 发布:java 异或加密算法 编辑:程序博客网 时间:2024/05/30 23:04

1、在https://www.golangtc.com/download/package下载第三方包websocket,点击Go!后,下载地址出现,点击就会下载第三方包


2、websocket会自动断开,看网上需要保持心跳,还有nginx的修改(没有生效),先用for死循环则不会断开,程序如下:

package websocketserviceimport (    . "domain/model"    "infrastructure/log"    "net/http"    "time"    "golang.org/x/net/websocket")var ws *websocket.Connfunc GetWebsocketInstance() {    http.Handle("/check", websocket.Handler(checkServiceHandler))    http.Handle("/", http.FileServer(http.Dir(".")))    err := http.ListenAndServe(":8087", nil)    if err != nil {        panic("ListenAndServe: " + err.Error())    }}func checkServiceHandler(ws *websocket.Conn) {    defer ws.Close()    log.Error("begin")    //  time.Sleep(60 * time.Second)    for { //websocket若不实时发送数据,会自动断开        time.Sleep(120 * time.Second)        log.Error("Serviceresult", Serviceresult)        err := websocket.JSON.Send(ws, Serviceresult)        if err != nil {            log.Error("send failure")            //      break        }    }}
原创粉丝点击