问题:
在使用github.com/gorilla/websocket库时报"concurrent write to websocket connection"的错
原因是该库不支持并发向conn写数据,详情请参考:https://github.com/gorilla/websocket/issues/380
解决方案:
在向conn写数据前先加锁,之后再解锁即可解决此问题,读数据同理
type WsConn struct {
*websocket.Conn
Mux sync.RWMutex
}
wsConn.Mux.Lock() //加锁
err=wsConn.Conn.WriteMessage(websocket.TextMessage,msgByte)
wsConn.Mux.Unlock() //解锁