fix: concurrent write to single WebSocket connection (#392)

This commit is contained in:
UUBulb
2024-07-17 10:06:23 +08:00
committed by GitHub
parent 34fedd91d2
commit f95191c8af
2 changed files with 7 additions and 1 deletions

View File

@@ -28,6 +28,12 @@ func (conn *Conn) Write(data []byte) (int, error) {
return len(data), nil
}
func (conn *Conn) WriteMessage(messageType int, data []byte) error {
conn.writeLock.Lock()
defer conn.writeLock.Unlock()
return conn.Conn.WriteMessage(messageType, data)
}
func (conn *Conn) Read(data []byte) (int, error) {
if len(conn.dataBuf) > 0 {
n := copy(data, conn.dataBuf)