Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Changeset 8228 in orxonox.OLD for trunk/src/lib/network/udp_socket.cc


Ignore:
Timestamp:
Jun 8, 2006, 11:19:08 AM (18 years ago)
Author:
patrick
Message:

trunk: merged the network branche back to trunk with command: svn merge branches/network trunk -r8150:HEAD

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/lib/network/udp_socket.cc

    r7954 r8228  
    8181UdpSocket::~UdpSocket( )
    8282{
     83  this->disconnectServer();
     84 
    8385  if ( serverSocket )
    8486    serverSocket->removeUser( userId );
    85  
    86   disconnectServer();
    87  
     87
    8888  if ( this->packet )
    8989    SDLNet_FreePacket( this->packet );
     
    128128    return;
    129129  }
    130  
     130}
     131
     132/**
     133 * disconnect from server
     134 */
     135void UdpSocket::disconnectServer( )
     136{
     137  PRINTF(0)("disconnect\n");
    131138  writePacket( NULL, 0 );
    132 }
    133 
    134 /**
    135  * disconnect from server
    136  */
    137 void UdpSocket::disconnectServer( )
    138 {
    139139  SDLNet_UDP_Unbind( socket, -1 );
    140140  SDLNet_UDP_Close( socket );
     
    171171    packet->len = length;
    172172   
    173     if ( SDLNet_UDP_Send( socket, 1, packet) == 0 )
     173    if ( socket && SDLNet_UDP_Send( socket, 1, packet) == 0 )
    174174    {
    175175      PRINTF(1)("SDLNet_UDP_Send: %s\n", SDLNet_GetError());
     
    196196    NetworkPacket networkPacket = serverSocket->getPacket( this->userId );
    197197   
     198    if ( networkPacket.length == -1 )
     199    {
     200      this->disconnectServer();
     201      return 0;
     202    }
     203   
    198204    if ( networkPacket.length > 0 )
    199205    {
     
    218224      assert( packet->len <= maxLength );
    219225     
     226      if ( packet->len == 0 )
     227      {
     228        this->disconnectServer();
     229        return 0;
     230      }
     231     
    220232      memcpy( data, packet->data, packet->len );
    221233      return packet->len;
Note: See TracChangeset for help on using the changeset viewer.