Show
Ignore:
Timestamp:
06/17/10 10:26:53 (20 months ago)
Author:
mwhitworth
Message:

Rewrite SocketRead method.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • Whitix/branches/netchannel/user/sdk/network/tcp/tcp.c

    r2102 r2103  
    179179                { 
    180180                        TcpChangeState(tcpSock, TCP_ESTABLISHED); 
     181            tcpSock->seqRead = seq + 1; 
    181182                        TcpSendBit(tcpSock, TCP_FLAG_ACK); 
    182183                        return 0; 
     
    293294        if (dataLen > 0) 
    294295        { 
    295                 ChanRecvBuffAddRead(tcpSock->channel, buffer, IpGetHeaderSize(ipHeader) + TcpGetHeaderSize(header)); 
    296  
    297296                tcpSock->stats.totalBytesRecv += dataLen; 
    298297                tcpSock->stats.totalPacketsRecv++; 
     
    382381 
    383382        if (header->ack) 
    384         { 
    385                 if (SeqBetween(ack, tcpSock->localUna, tcpSock->localNext)) 
    386                 { 
    387                         TcpChangeState(tcpSock, TCP_ESTABLISHED); 
    388                         return TcpEstablished(tcpSock, header, buffer, length); 
    389                 } 
    390         } 
     383        if (SeqBetween(ack, tcpSock->localUna, tcpSock->localNext)) 
     384        { 
     385                TcpChangeState(tcpSock, TCP_ESTABLISHED); 
     386            tcpSock->seqRead = NetToHostLong(header->seqNum); 
     387                return TcpEstablished(tcpSock, header, buffer, length); 
     388        } 
    391389 
    392390        if (header->fin)