예제 #1
0
bool STNetEngine::Listen(int port)
{
	pair<map<int,SOCKET>::iterator,bool> ret 
		= m_serverPorts.insert(map<int,SOCKET>::value_type(port,INVALID_SOCKET));
	map<int,SOCKET>::iterator it = ret.first;
	if ( !ret.second && INVALID_SOCKET != it->second ) return true;
	if ( m_stop ) return true;

	it->second = ListenPort(port);
	if ( INVALID_SOCKET == it->second ) return false;
	return true;
}
예제 #2
0
bool STNetEngine::ListenAll()
{
	bool ret = true;
	map<int,SOCKET>::iterator it = m_serverPorts.begin();
	char strPort[256];
	string strFaild;
	for ( ; it != m_serverPorts.end(); it++ )
	{
		if ( INVALID_SOCKET != it->second ) continue;
		it->second = ListenPort(it->first);
		if ( INVALID_SOCKET == it->second ) 
		{
			sprintf( strPort, "%d", it->first );
			strFaild += strPort;
			strFaild += " ";
			ret = false;
		}
	}
	if ( !ret ) m_startError += "listen port:" + strFaild + "faild";
	return ret;
}
예제 #3
0
// --- начертили пентаграмму и читаем заклинание призыва Демона ----------------
void DemonPorta::run()
{
    configDemona = new QSettings(qApp->applicationDirPath()+"/config.ini",
                                               QSettings::IniFormat);
    ListenPort(portHandle); // демон призван!
}