WebSocket的一个问题

这样写:

func OnWebSocket(ws *websocket.Conn) {
    io.WriteString(ws, "hello world")
}

没问题

但是这样写:

func OnWebSocket(ws *websocket.Conn) {
    buf := make([]byte, 1024)
    n, err := ws.Read(buf)
    if err != nil && err != io.EOF {
        fmt.Println("WebSocket接收数据错误 /// ", err)
    } else {
        fmt.Println(buf[0:n])
    }
    io.WriteString(ws, "hello world")
}
服务器打印不出东西,客户端也收不到数据

共 4 个回复


jimmykuu

用的哪个 websocket 库?

# 0

ThoseFlowers

@jimmykuu 就是谷歌那个:
https://github.com/golang/net/tree/master/websocket

# 1

jimmykuu

客户端没消息过来的话,n, err := ws.Read(buf)这一步应该是卡在哪的吧。

# 2