CTcpSocketHelper::CTcpSocketHelper(void)
{
	m_Socket = INVALID_SOCKET;
	m_bWinSockInitSucceed = FALSE;
	m_bBlock = TRUE;
	InitWinSocket();
}
示例#2
0
文件: main.cpp 项目: osROSE/osrose
// Main server function
int main(int argc, char *argv[]) 
{
    srand( (unsigned)time(NULL) );
    srand( rand()*time(NULL) );         
    StartSignal( );
	LOG_THISSERVER = LOG_WORLD_SERVER;
    InitWinSocket( );
    string fileconf = "worldserver.conf";   
    if(argc>1)
    {
        fileconf = argv[1];
    }              
	CWorldServer *server = new (nothrow) CWorldServer( fileconf );
    if(server==NULL)
        return -1;
    pthread_attr_init(&server->at);
    pthread_attr_setdetachstate(&server->at, PTHREAD_CREATE_JOINABLE);   
    // Connect mysql
    MYSQL mysql;
	server->DB = new CDatabase( server->Config.SQLServer.pcServer,
	                    server->Config.SQLServer.pcUserName,
	                    server->Config.SQLServer.pcPassword,
	                    server->Config.SQLServer.pcDatabase,
	                    server->Config.SQLServer.pcPort, &mysql );
    server->port = server->Config.CharPort;     
	if(server->Config.usethreads)
	   Log( MSG_INFO, "Using Threads" );	
	// Start server
	server->port = server->Config.WorldPort;
	
	if(server->DB->Connect( )==0) Log( MSG_INFO, "Connected to MySQL server" ); 
	else
	{
        delete server;
        server = NULL;
        #ifdef _WIN32
		system("pause");
		#endif
		return -1;
	} 	
	server->StartServer();
	// Close server
    pthread_attr_destroy(&server->at);	
    server->DB->Disconnect( );
	CloseWinSocket( );
	StopSignal( );	
	Log(MSG_INFO, "Cleaning memory, please wait..." );
	delete server;         	
	server = NULL;
	return EXIT_SUCCESS;
}
示例#3
0
// Main function
int main(int argc, char *argv[])
{
    //LMA: deactivating signal tracker.
    StartSignal( );


	LOG_THISSERVER = LOG_CHARACTER_SERVER;
    InitWinSocket( );
    string fileconf = "charserver.conf";
    if(argc>1)
    {
        fileconf = argv[1];
    }
	CCharServer *server = new (nothrow) CCharServer( fileconf );
	if(server==NULL)
	   return -1;
    MYSQL mysql;
	server->DB = new CDatabase( server->Config.SQLServer.pcServer,
	                    server->Config.SQLServer.pcUserName,
	                    server->Config.SQLServer.pcPassword,
	                    server->Config.SQLServer.pcDatabase,
	                    server->Config.SQLServer.pcPort, &mysql );
    server->port = server->Config.CharPort;
	if(server->Config.usethreads)
	   Log( MSG_INFO, "Using Threads" );
	if(server->DB->Connect( )==0) Log( MSG_INFO, "Connected to MySQL server" );
    else
	{
        delete server;
        #ifdef _WIN32
		system("pause");
		#endif
		return -1;
	}
	// Start server
	server->StartServer();
	// Close server
    server->DB->Disconnect( );

    //LMA: deleting stuff.
    server->chatroom_list.clear();

	delete server;
	CloseWinSocket( );
	StopSignal( );
	return EXIT_SUCCESS;
}
示例#4
0
// Main server function
int main(int argc, char *argv[])
{
	//LMA: Opening log.
	LogHandleSp(1);
	LogDebugPriority(0,true);   //LMA: LogDebug won't appear in Logs or screen.

    srand( (unsigned)time(NULL) );
    srand( rand()*time(NULL) );

    //LMA: TEST DEACTIVATING ERROR TRAPPING
    //Uncomment following line to use "console" mode (control+C).
    //StartSignal( );

	LOG_THISSERVER = LOG_WORLD_SERVER;
    InitWinSocket( );
    string fileconf = "worldserver.conf";
    if(argc>1)
    {
        fileconf = argv[1];
    }
	CWorldServer *server = new (nothrow) CWorldServer( fileconf );
    if(server==NULL)
        return -1;
    pthread_attr_init(&server->at);
    pthread_attr_setdetachstate(&server->at, PTHREAD_CREATE_JOINABLE);
    // Connect mysql
    MYSQL mysql;
	server->DB = new CDatabase( server->Config.SQLServer.pcServer,
	                    server->Config.SQLServer.pcUserName,
	                    server->Config.SQLServer.pcPassword,
	                    server->Config.SQLServer.pcDatabase,
	                    server->Config.SQLServer.pcPort, &mysql );
    server->port = server->Config.CharPort;
	if(server->Config.usethreads)
	   Log( MSG_INFO, "Using Threads" );
	// Start server
	server->port = server->Config.WorldPort;

	if(server->DB->Connect( )==0) Log( MSG_INFO, "Connected to MySQL server" );
	else
	{
        delete server;
        server = NULL;
        #ifdef _WIN32
		system("pause");
		#endif
		return -1;
	}

	server->StartServer();
	// Close server
    pthread_attr_destroy(&server->at);
    server->DB->Disconnect( );
	CloseWinSocket( );
	StopSignal( );
	Log(MSG_INFO, "Cleaning memory, please wait..." );
	delete server;
	server = NULL;

	//LMA: closing log.
	LogHandleSp(0);

	return EXIT_SUCCESS;
}
示例#5
0
void HelloWorld::menuCloseCallback(Object* pSender)
{
    
	
	

	char ip[100];
	int port;


	if (InitWinSocket() != 0) {
		printf("Init Win Socket Error !");
		return;
	}

	
    SOCKADDR_IN addr;
	

	// Create Socket
	ClientSocket = socket(AF_INET, SOCK_STREAM, NULL);
	if (ClientSocket == INVALID_SOCKET) {
		printf("Create Socket Error !\n");
		return;
	}

	char c[100];
	strcpy(c,this->sockaddr->getString());
	int lc=strlen(c);
	int i;
	for (i=0;i<lc;i++)
	{
		if (c[i]==':') break;
		ip[i]=c[i];
	}
	ip[i]=0;
	char pc[100];
	for (int j=i+1;j<lc;j++)
	{
		pc[j-i-1]=c[j];
	}
	sscanf(pc,"%d",&port);

	

	addr.sin_family = AF_INET;
	addr.sin_port = htons(port);
	addr.sin_addr.s_addr = inet_addr(ip);
	memset(addr.sin_zero, 0, sizeof(addr.sin_zero));
	
	if (connect(ClientSocket, (SOCKADDR*)&addr, sizeof(addr)) != 0) {
		printf("Could not connect to server ...[ENTER]\n");
		return;
	}


	// Send Username
	send(ClientSocket, this->username->getString(), strlen(this->username->getString()), NULL); 

	Director::getInstance()->replaceScene(PlayTable::scene());	

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
    exit(0);
#endif
}