1、在https://www.golangtc.com/download/package下载第三方包websocket,点击Go!后,下载地址出现,点击就会下载第三方包
2、websocket会自动断开,看网上需要保持心跳,还有nginx的修改(没有生效),先用for死循环则不会断开,程序如下:
package websocketservice
import (
."domain/model""infrastructure/log""net/http""time""golang.org/x/net/websocket"
)
var ws *websocket.Conn
func 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
}
}
}