Exemplo n.º 1
0
BOOL CServerSocet::StartServer(CString* sError)
{

	if(bCreateSocket)
		CloseSocket(sError);
	
	if(!bInitWinSocket)
		if (!StartWinSock(sError)) return FALSE;
	if (!SocketGetHostName(sError)) return FALSE;
	if (!CreateSocket(sError)) return FALSE;
	if (!LinkSoketPort(sError)) return FALSE;
	if (!LinkWindowSocket(hWnd,sError)) return FALSE;
	if (!ListenSocket(sError)) return FALSE;

	sokClientSocket = new stSockets *[iMaxCol];
	int i;
	for(i=0;i<iMaxCol;i++)
	{
		sokClientSocket[i] = new (stSockets);
		sokClientSocket[i]->dBase = NULL;
		sokClientSocket[i]->sUserIP = _T("");
		sokClientSocket[i]->bAdmin = FALSE;
		sokClientSocket[i]->sDataStart = _T("");
		sokClientSocket[i]->sok = NULL;
		sokClientSocket[i]->hThread = 0;
	}	
	bStatus = TRUE;
	return TRUE;
}
Exemplo n.º 2
0
void GameStatePlayInit(void)
{
    // initialize winsock
    try
    {
        StartWinSock();
    }
    catch(WSErr& e)
    {
        printf("%s\n", e.msg_.c_str());
    }

    GetLocalIP(client.localIP_);

    try
    {
        // local IP of client computer
        client.udpSock_.SetIP(client.localIP_);
        // set port to whatever is available next
        client.udpSock_.SetPortNumber(0);
    }
    catch( iSocket::SockErr& e )
    {
        CloseWinSock();
        e.Print();
    }

    // specify port and ip of remote connection, which will be the server
    client.remoteAddr_.SetIP(client.config_.serverIp_);
    client.remoteAddr_.SetPortNumber(client.config_.serverPort_);

    client.udpSock_.Init();
    client.udpSock_.AcceptFrom(client.remoteAddr_);

    SendJoinMessage();

    // reset the number of current asteroid and the total allowed
    sAstCtr = 0;
    sAstNum = AST_NUM_MIN;

    // get the time the asteroid is created
    sAstCreationTime = AEGetTime();

    // reset the score and the number of ship
    sScore      = 0;
    sShipCtr    = SHIP_INITIAL_NUM;
    sSpecialCtr = SHIP_SPECIAL_NUM;

    // reset the delay to switch to the result state after game over
    sGameStateChangeCtr = 2.0f;
}
Exemplo n.º 3
0
int main( int argc, char *argv[] )
{
#ifdef TEST_TCP_SOCKETS

  StartWinSock();

  TCPSocket listener;
  TCPSocket client;

  char *localIP = NULL;
  GetLocalIP( localIP );

  listener.SetIP( localIP );
  listener.SetPortNumber( 8000 );

  listener.Init();
  
  listener.Listen();

  while( !listener.Accept( client ) );
  
  while( true )
  {
    std::string message;
    Prompt( message, "Enter a message" );

    NetworkMessage netMessage;
    netMessage.msg_.Assign( message.c_str(), message.size() );

    client.Send( netMessage );
  }

  client.Shutdown();
  client.Close();

  listener.Shutdown();
  listener.Close();

  CloseWinSock();

#endif

  /*
  GameControl controller;

  try
  {
    controller.Init();

    try
    {
      controller.Run();
    }
    catch( BaseErrExcep e )
    {
      e.Print();
    }

    controller.Close();
  }
  catch( BaseErrExcep e )
  {
    e.Print();
  }
  */

    FileServer fileServer;

    try
    {
        fileServer.Init();

        try
        {
            fileServer.Run();
        }
        catch(BaseErrExcep& e)
        {
            e.Print();
        }

        fileServer.Close();
    }
    catch(BaseErrExcep& e)
    {
        e.Print();
    }
 
   
  printf( "\n Server is closing \n" );

  return WaitForInput();
}