mirror of
https://github.com/SteamAutoCracks/DepotDownloaderMod.git
synced 2026-02-13 13:20:56 +01:00
Send datagram ack after Data
--HG-- extra : convert_revision : svn%3A946a0da7-ebce-4904-9acb-2f1e67aed693%4091
This commit is contained in:
@@ -184,6 +184,20 @@ namespace SteamKit
|
||||
SendData(clientMsgProto.Serialize(), ipAddr);
|
||||
}
|
||||
|
||||
public void SendAck( IPEndPoint ipAddr )
|
||||
{
|
||||
UdpPacket packet = new UdpPacket(EUdpPacketType.Datagram);
|
||||
packet.Header.SequenceThis = 0;
|
||||
packet.Header.SequenceAcked = seqAcked;
|
||||
packet.Header.DestinationConnID = remoteConnID;
|
||||
|
||||
packet.Header.PacketsInMsg = 0;
|
||||
packet.Header.MsgStartSequence = 0;
|
||||
|
||||
byte[] packetData = packet.GetData();
|
||||
|
||||
udpSock.Send(packetData, ipAddr);
|
||||
}
|
||||
|
||||
void RecvChallenge( UdpPacket udpPkt, IPEndPoint endPoint )
|
||||
{
|
||||
@@ -220,6 +234,14 @@ namespace SteamKit
|
||||
|
||||
void RecvData( UdpPacket udpPkt, IPEndPoint endPoint )
|
||||
{
|
||||
if (udpPkt.Header.SequenceThis <= seqAcked)
|
||||
{
|
||||
Console.WriteLine("duplicate packet seq " + udpPkt.Header.SequenceThis + " " + seqAcked);
|
||||
//return;
|
||||
}
|
||||
|
||||
SendAck( endPoint );
|
||||
|
||||
NetPacket netPacket = null;
|
||||
|
||||
if ( packetMap.ContainsKey( udpPkt.Header.MsgStartSequence ) )
|
||||
@@ -252,7 +274,7 @@ namespace SteamKit
|
||||
return;
|
||||
}
|
||||
|
||||
if ( data.Length < 4 )
|
||||
if ( data == null || data.Length < 4 )
|
||||
return; // we need at least an EMsg
|
||||
|
||||
EMsg eMsg = ( EMsg )BitConverter.ToUInt32( data, 0 );
|
||||
@@ -377,12 +399,6 @@ namespace SteamKit
|
||||
if ( !udpPkt.IsValid )
|
||||
return;
|
||||
|
||||
if (udpPkt.Header.SequenceThis <= seqAcked)
|
||||
{
|
||||
Console.WriteLine("ignoring packet seq " + udpPkt.Header.SequenceThis + " " + seqAcked);
|
||||
return;
|
||||
}
|
||||
|
||||
seqAcked = udpPkt.Header.SequenceThis;
|
||||
|
||||
switch ( udpPkt.Header.PacketType )
|
||||
|
||||
Reference in New Issue
Block a user