以下功能的工作原理如下。发送通道接收一个新的消息类型的消息(在其他地方定义的结构)写入websocket。似乎client.socket.WriteJSON(msg)返回错误。它打印" websocket:close sent" 。我试图调试东西,我意识到了一些事情。 msg是正确生成的,如果我尝试在对象上使用writeJSON,则会发生错误,只有在msg:= range client.send之后发生writeJSON时才会出现错误。对不起,如果这令人困惑。我很乐意澄清。
func (client *Client) Write(){
for msg := range client.send {
if err := client.socket.WriteJSON(msg); err != nil {
fmt.Println(err)
break
}
}
client.socket.Close();
}