目前我使用code.google.com/p/go.net/websocket包来做websocket通讯,目前有一个主动推送通知的功能需要保存所有的连接conn,然后有新消息的时候主动推送给对应的conn,但是如果一个客户的conn关闭之后,我需要移除这个conn,但是看到websocket没有对应的isClose的判断。有什么好的办法解决吗?
有疑问加站长微信联系(非本文作者)

目前我使用code.google.com/p/go.net/websocket包来做websocket通讯,目前有一个主动推送通知的功能需要保存所有的连接conn,然后有新消息的时候主动推送给对应的conn,但是如果一个客户的conn关闭之后,我需要移除这个conn,但是看到websocket没有对应的isClose的判断。有什么好的办法解决吗?
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
这个要分吧,如果客户端主动断开,那就好说了,在客户端断开前广播消息告诉服务端断开连接。 如果是意外断开,那就靠其他方法,如心跳包机制,可以开个goroutine专门负责,心跳包超过N次后断开连接。
websocket本来就有心跳包的机制,你可以看看,写个handle函数就好了
心跳包真的没有发现,所以才问的;目前我用主动发送空字符给客户端的解决方式,还有一个方式是客户端主动(包过恶意断开)服务器这边也是受到断开信息的。