Go语言实现websocket与前端交互

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
        }
    }
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值