feat 排队
This commit is contained in:
@@ -103,7 +103,15 @@ func (s *WSServer) OnTraffic(c gnet.Conn) gnet.Action {
|
||||
data, action := ws.upgrade()
|
||||
if len(data) > 0 {
|
||||
s.unUpgradeConn.Delete(c.RemoteAddr().String())
|
||||
action = gnet.Action(s.i.OnHandShake(ws, data, s.OnHandShakeFinish))
|
||||
action = gnet.Action(s.i.OnHandShake(ws))
|
||||
if action == gnet.None {
|
||||
if err := ws.Conn.AsyncWrite(data, nil); err != nil {
|
||||
ws.logger.Errorf("OnTraffic upgrade AsyncWrite err: %v", err)
|
||||
if err = ws.Close(); err != nil {
|
||||
ws.logger.Errorf("OnTraffic upgrade Close error: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return action
|
||||
}
|
||||
@@ -174,14 +182,3 @@ func (s *WSServer) OnTick() (delay time.Duration, action gnet.Action) {
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
// OnHandShakeFinish 握手完成
|
||||
func (s *WSServer) OnHandShakeFinish(conn socket.ISocketConn, hsResp []byte) {
|
||||
ws := conn.(*WSConn)
|
||||
if err := ws.Conn.AsyncWrite(hsResp, nil); err != nil {
|
||||
ws.logger.Errorf("OnHandShakeFinish err: %v", err)
|
||||
if err = ws.Close(); err != nil {
|
||||
ws.logger.Errorf("OnHandShakeFinish Close error: %v", err)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user