mirror of
https://github.com/Mrs4s/MiraiGo.git
synced 2025-05-07 12:43:32 +08:00
fix packet dropped.
This commit is contained in:
parent
61dd50e464
commit
a4131cdc07
@ -1053,7 +1053,7 @@ func (c *QQClient) netLoop() {
|
||||
pkt, err := packets.ParseIncomingPacket(data, c.sigInfo.d2Key)
|
||||
if err != nil {
|
||||
c.Error("parse incoming packet error: %v", err)
|
||||
if err == packets.ErrSessionExpired {
|
||||
if err == packets.ErrSessionExpired || err == packets.ErrPacketDropped {
|
||||
break
|
||||
}
|
||||
errCount++
|
||||
|
@ -11,6 +11,7 @@ var ErrUnknownFlag = errors.New("unknown flag")
|
||||
var ErrInvalidPayload = errors.New("invalid payload")
|
||||
var ErrDecryptFailed = errors.New("decrypt failed")
|
||||
var ErrSessionExpired = errors.New("session expired")
|
||||
var ErrPacketDropped = errors.New("packet dropped")
|
||||
|
||||
type ISendingPacket interface {
|
||||
CommandId() uint16
|
||||
@ -121,7 +122,7 @@ func ParseIncomingPacket(payload, d2key []byte) (*IncomingPacket, error) {
|
||||
func parseSsoFrame(payload []byte, flag2 byte) (*IncomingPacket, error) {
|
||||
reader := binary.NewReader(payload)
|
||||
if reader.ReadInt32()-4 > int32(reader.Len()) {
|
||||
return nil, errors.New("dropped")
|
||||
return nil, ErrPacketDropped
|
||||
}
|
||||
seqId := reader.ReadInt32()
|
||||
retCode := reader.ReadInt32()
|
||||
|
Loading…
x
Reference in New Issue
Block a user