12345678910111213141516171819202122232425262728293031 |
- package linker
-
- import (
- "net"
- "sync"
-
- "github.com/gorilla/websocket"
- )
-
- // fix panic as websocket concurrency write
- type webSocketConn struct {
- mutex sync.Mutex
- conn *websocket.Conn
- }
-
- func (ws *webSocketConn) WriteMessage(messageType int, data []byte) error {
- ws.mutex.Lock()
- err := ws.conn.WriteMessage(messageType, data)
- ws.mutex.Unlock()
-
- return err
- }
-
- func (ws *webSocketConn) LocalAddr() net.Addr {
- return ws.conn.LocalAddr()
- }
-
- func (ws *webSocketConn) RemoteAddr() net.Addr {
- return ws.conn.RemoteAddr()
- }
|