YEEE

Results 9 comments of YEEE

Maybe I found problem **The problem is, using RLock() in a process that may require Lock() :** ``` func (server *Server) Write(webSocketId string, data []byte) error { server.connMutex.RLock() defer server.connMutex.RUnlock()...

I have the idea to remove ws object, but I couldn't prove whether the ws object obtained by server.connections[] is the same as the one to be removed. ``` func...

Maybe I found problem **The problem is, using RLock() in a process that may require Lock() :** ``` func (server *Server) Write(webSocketId string, data []byte) error { server.connMutex.RLock() defer server.connMutex.RUnlock()...

@dwibudut Very very thank you! This problem just happened to me too ``` time="2024-10-25T17:28:52+08:00" level=info msg=AAAAAAAAAAA____Heartbeat time="2024-10-25T17:28:52+08:00" level=info msg=AAAAAAAAAAA____Heartbeat time="2024-10-25T17:28:52+08:00" level=info msg=AAAAAAAAAAA____Heartbeat time="2024-10-25T17:28:52+08:00" level=info msg="(outQueue) write failed for AAAAAAAAAAA: %!w(*net.OpError=&{write...

HI @dwibudut @lorenzodonini [Method 1]. Thank you for the method provided by @dwibudut . This method can indeed avoid Lock and Panic problems. Just change websocket.go: ``` func (server *Server)...

@alex0parhomenko HI,The solution mentioned above works; please give it a try.

@alex0parhomenko HI, Method 1. However, Method 2 should also be usable because it avoids blocking the channel.

already fix in github.com/gabriel-vasile/[email protected], please update go module, thanks~

@xBlaz3kx Thank you for answering every question carefully!