Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

Ignore:
Timestamp:
Apr 27, 2006, 5:06:47 PM (18 years ago)
Author:
patrick
Message:

network: server socket adapted

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/network/src/lib/network/server_socket.cc

    r6139 r7402  
    2626#include "debug.h"
    2727
    28 ServerSocket::ServerSocket(  )
     28
     29ServerSocket::ServerSocket( ConnectionType connectionType )
    2930{
     31  this->connectionType = connectionType;
    3032  init();
    3133}
    3234
    33 ServerSocket::ServerSocket( unsigned int port )
     35
     36ServerSocket::ServerSocket( ConnectionType connectionType, unsigned int port )
    3437{
     38  this->connectionType = connectionType;
    3539  init();
    3640  listen(port);
    3741}
     42
     43
     44ServerSocket::ServerSocket()
     45{
     46  this->connectionType == NET_TCP;
     47  init();
     48}
     49
     50
     51ServerSocket::ServerSocket( unsigned int port )
     52{
     53  this->connectionType == NET_TCP;
     54  init();
     55  listen(port);
     56}
     57
    3858
    3959/**
     
    4969  _isListening = false;
    5070}
     71
     72
     73
    5174
    5275void ServerSocket::init( )
     
    97120  }
    98121
    99   listenSocket = SDLNet_TCP_Open(&ip);
    100 
    101   if (!listenSocket)
     122  if( this->connectionType == NET_TCP)
    102123  {
    103     PRINTF(1)("SDLNet_TCP_Open: %s\n", SDLNet_GetError());
     124    listenSocketTCP = SDLNet_TCP_Open(&ip);
     125    if( !listenSocketTCP) {
     126      PRINTF(1)("SDLNet_TCP_Open: %s\n", SDLNet_GetError());
     127      _isListening = false;
     128      return false;
     129    }
     130  }
     131  else
     132  {
     133    listenSocketUDP = SDLNet_UDP_Open(port);
     134    PRINTF(1)("SDLNet_UDP_Open: %s\n", SDLNet_GetError());
    104135    _isListening = false;
    105136    return false;
    106137  }
     138
    107139
    108140  return true;
     
    110142
    111143
     144/**
     145 *  returns a new NetworkSocket
     146 * @return new socket
     147 */
    112148NetworkSocket* ServerSocket::getNewSocket( )
    113149{
     
    119155  }
    120156
    121   TCPsocket sock = SDLNet_TCP_Accept(listenSocket);
    122 
    123   if ( !sock )
     157  if( this->connectionType == NET_TCP)
    124158  {
    125     return NULL;
     159    TCPsocket sockTCP = SDLNet_TCP_Accept(this->listenSocketTCP);
     160    if( !sockTCP)
     161      return NULL;
     162    else
     163      return new NetworkSocket(sockTCP);
    126164  }
    127165  else
    128166  {
    129     return new NetworkSocket(sock);
     167#warning UDP getNewSocket incomplet
     168//     UDPsocket sockUDP = SDLNet_UDP_Accept(this->listenSocketUDP);
     169//     if( !sockUDP)
     170//       return NULL;
     171
     172//     else
     173//       return new NetworkSocket();
    130174  }
    131175}
    132176
     177
     178/**
     179 * closes the ServerSocket
     180 */
    133181void ServerSocket::close( )
    134182{
Note: See TracChangeset for help on using the changeset viewer.