private void ReceivePing(S2CPacket packet) { var idDiff = packet.PacketId - lastReceivedPingId; if (idDiff > 1 && idDiff < ReceivePacketWindowSize) { NetworkStats.LogLostPings(idDiff - 1); } if (idDiff > 0 || idDiff < -ReceivePacketWindowSize) { lastReceivedPingId = packet.PacketId; } byte[] pongData = new byte[2]; NetUtil.H2N(packet.PacketId, pongData, 0); AddOutgoingPacket(pongData, PacketType.Pong); }
private void ReceivePing(S2CPacket packet) { var idDiff = packet.PacketId - lastReceivedPingId; if (idDiff > 1 && idDiff < ReceivePacketWindowSize) { NetworkStats.LogLostPings(idDiff - 1); } if (idDiff > 0 || idDiff < -ReceivePacketWindowSize) { lastReceivedPingId = packet.PacketId; } byte[] pongData = new byte[2]; // stackalloc BinaryPrimitives.WriteUInt16BigEndian(pongData.AsSpan(), packet.PacketId); AddOutgoingPacket(pongData, PacketType.Pong); }