diff --git a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt index a60ff3c08..f16b54706 100644 --- a/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt +++ b/mirai-core-qqandroid/src/commonMain/kotlin/net/mamoe/mirai/qqandroid/network/QQAndroidBotNetworkHandler.kt @@ -226,6 +226,10 @@ internal class QQAndroidBotNetworkHandler(bot: QQAndroidBot) : BotNetworkHandler if (cache == null) { // 没有缓存 var length: Int = rawInput.readInt() - 4 + if (length < 0) { + // 丢包了. 后半部分包提前到达 + return + } if (rawInput.remaining == length.toLong()) { // 捷径: 当包长度正好, 直接传递剩余数据. cachedPacketTimeoutJob?.cancel()