コード例 #1
0
ファイル: REOEngine_Server.cpp プロジェクト: ReoRavi/Chating
int main()
{
	WSADATA					wsaData;

	// 윈도우 소켓 프로그래밍 초기화
	if (WSAStartup(MAKEWORD(2, 2), &wsaData))
	{
		CLog::WriteLog("main : WSAStartUp() Error!\n");
		return FALSE;
	}
	
	// 로그 초기화
	CLog::CreateLogFile("log.txt");

	CChatServer Server;

	if (!Server.Initialize())
		return FALSE;

	Server.Loop();

	if (!Server.Release())
		return FALSE;

	WSACleanup();

    return 0;
}
コード例 #2
0
ファイル: chat_server.cpp プロジェクト: arkiny/DreamCoast2D
int main(int argc, char* argv[])
{
	int nRetCode = 0;
	char buf[4096];

	cout << "서버시작\n";
	cout << "엔터키를 누를시 종료\n";
	cout << "=================================================\n";

	if (!CServerObj.IsConnected())
	{
		cout << "\nFailed to initialise server socket";
		getch();
		return 1;
	}
	AfxBeginThread(ServerListenThread, 0);


	while (gets(buf))
	{
		if (strlen(buf) == 0)
			break;
		if (CServerObj.SendMessagePort(buf))
		{
			cout << "Problem in connecting to server. Check whether server is running\n";
			break;
		}
	}

	cout << "signing off.";
	getch();

	return nRetCode;
}
コード例 #3
0
ファイル: chat_server.cpp プロジェクト: arkiny/DreamCoast2D
UINT  ServerListenThread(LPVOID pParam)
{

	while (1)
		CServerObj.StartListenClient();
	return 0;
}
コード例 #4
0
ファイル: chat_server.cpp プロジェクト: arkiny/DreamCoast2D
UINT  ServerRecThread(LPVOID pParam)
{
	SOCKET sRecSocket = (SOCKET)pParam;
	while (1)
	{
		if (CServerObj.RecClient(sRecSocket))
			break;
	}
	return 0;
}
コード例 #5
0
ファイル: ChatServer.cpp プロジェクト: TakenBerry/AKCore
//-----------------------------------------------------------------------------------
//		ChatServerMain
//-----------------------------------------------------------------------------------
int ChatServerMain(int argc, _TCHAR* argv[])
{
	CChatServer app;
	CNtlFileStream traceFileStream;

// LOG FILE
	int rc = traceFileStream.Create( "chatlog" );
	if( NTL_SUCCESS != rc )
	{
		printf( "log file CreateFile error %d(%s)", rc, NtlGetErrorMessage( rc ) );
		return rc;
	}
// CHECK INI FILE AND START PROGRAM
	NtlSetPrintStream( traceFileStream.GetFilePtr() );
	NtlSetPrintFlag( PRINT_APP | PRINT_SYSTEM );
	rc = app.Create(argc, argv, ".\\Server.ini");
	if( NTL_SUCCESS != rc )
	{
		NTL_PRINT(PRINT_APP, "Server Application Create Fail %d(%s)", rc, NtlGetErrorMessage(rc) );
		return rc;
	}

	// CONNECT TO MYSQL
	app.db = new MySQLConnWrapper;
	app.db->setConfig(app.GetConfigFileHost(), app.GetConfigFileUser(), app.GetConfigFilePassword(), app.GetConfigFileDatabase());
	app.db->connect();
	app.db->switchDb(app.GetConfigFileDatabase());

	app.Start();
	Sleep(500);
	std::cout << "\n\n" << std::endl;
	std::cout << "\t  ____                              ____        _ _ " << std::endl;
	std::cout << "\t |  _ \\ _ __ __ _  __ _  ___  _ __ | __ )  __ _| | |" << std::endl;
	std::cout << "\t | | | | '__/ _` |/ _` |/ _ \\| '_ \\|  _ \\ / _` | | |" << std::endl;
	std::cout << "\t | |_| | | | (_| | (_| | (_) | | | | |_) | (_| | | |" << std::endl;
	std::cout << "\t |____/|_|  \\__,_|\\__, |\\___/|_| |_|____/ \\__,_|_|_|" << std::endl;
	std::cout << "\t                  |___/                             " << std::endl;
	std::cout << "\t______           AKCore :O 2014					______\n\n" << std::endl;
	app.WaitForTerminate();
	

	return 0;
}
コード例 #6
0
ファイル: ChatControl.cpp プロジェクト: swax/Gnucleus
void CChatControl::AddServer(CString Host, UINT Port)
{
	// If server already exists
	for(int i = 0; i < m_ServerList.size(); i++)
	{
		CChatServer* pServer = m_ServerList[i];

		if(pServer->m_Host == Host)
		{
			if(pServer->m_Status == SOCK_CLOSED)
			{
				if(pServer->m_hSocket == INVALID_SOCKET)
					pServer->Create();
						//m_pDoc->LogError("Chat Create Error: " + DWrdtoStr(pServer->GetLastError()));
				
				pServer->Connect(Host, Port);
			}

			ChatMessage(CHAT_UPDATE, NULL);
			ChatMessage(CHAT_SELECT, (DWORD) pServer->m_Console);
		
			return;
		}
	}

	if(!m_pPrefs->m_DisableIdent)
		StartIdentd();
	
	CChatServer* Server = new CChatServer(this, Host, Port);

	//Attempt to connect to node
	Server->Create();
		//m_pDoc->LogError("Chat Create Error: " + DWrdtoStr(Server->GetLastError()));

	if( !Server->Connect(Host, Port) )
		if (Server->GetLastError() != WSAEWOULDBLOCK)
		{
			delete Server;
			return;
		}

	// Add node to list
	
	m_ServerList.push_back(Server);


	ChatMessage(CHAT_UPDATE, NULL);
}
コード例 #7
0
ファイル: ChatServer.cpp プロジェクト: TakenBerry/AKCore
void CClientSession::OnClose()
{
	NTL_PRINT( PRINT_APP, "%s", __FUNCTION__ );
	CChatServer * app = (CChatServer*) NtlSfxGetApp();
	app->RemoveUser(this->GetCharName().c_str());
}