diff --git a/common/socket/ServerEvent.go b/common/socket/ServerEvent.go index 0e916c71..833fad8c 100644 --- a/common/socket/ServerEvent.go +++ b/common/socket/ServerEvent.go @@ -126,7 +126,12 @@ func (s *Server) OnTraffic(c gnet.Conn) (action gnet.Action) { s.parser(c, msg.Payload) }) } - + if c.InboundBuffered() > 0 { + if err := c.Wake(nil); err != nil { // wake up the connection manually to avoid missing the leftover data + logging.Errorf("failed to wake up the connection, %v", err) + return gnet.Close + } + } return gnet.None }