本文整理汇总了C++中CSocket::listenSock方法的典型用法代码示例。如果您正苦于以下问题:C++ CSocket::listenSock方法的具体用法?C++ CSocket::listenSock怎么用?C++ CSocket::listenSock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSocket
的用法示例。
在下文中一共展示了CSocket::listenSock方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char *argv[])
{
#ifdef PSPSDK
pspDebugScreenInit();
SetupCallbacks();
#else
// Shut down the server if we get a kill signal.
signal( SIGINT, (sighandler_t) shutdownServer );
signal( SIGTERM, (sighandler_t) shutdownServer );
#endif
/* Setup Data-Directory */
dataDir = CBuffer(argv[0]).replaceAll("\\", "/");
dataDir = dataDir.copy(0, dataDir.findl('/') + 1);
programDir = dataDir;
dataDir << "world/";
/* Main Initiating */
adminNames.load( __admin, sizeof(__admin) / sizeof(const char*) );
colourNames.load( __colours, sizeof(__colours) / sizeof(const char*) );
clothCommands.load( __cloths, sizeof(__cloths) / sizeof(const char*) );
defaultGaniNames.load( __defaultgani, sizeof(__defaultgani) / sizeof(const char*) );
defaultSwordNames.load( __defaultsword, sizeof(__defaultsword) / sizeof(const char*) );
defaultShieldNames.load( __defaultshield, sizeof(__defaultshield) / sizeof(const char*) );
playerIds.add(0);
playerIds.add(0);
npcIds.add(0);
srand((int)time(NULL));
/* Load Important Files */
updateFile("rchelp.txt");
updateFile("rcmessage.txt");
updateFile("rules.txt");
updateFile("serverflags.txt");
updateFile("servermessage.html");
updateFile("foldersconfig.txt");
/* Load Settings */
if (!loadSettings("serveroptions.txt"))
{
errorOut("errorlog.txt", "Unable to load server settings..");
return 1;
}
/* Load Weapons */
if (!loadWeapons("weapons.txt"))
{
errorOut("errorlog.txt", "Unable to load weapons from weapons.txt..");
return 1;
}
/* Initialize Sockets */
if (CSocket::sockStart() != 0)
return 1;
if(!serverSock.listenSock(serverPort, 20))
{
errorOut("errorlog.txt", CString() << "SOCK ERROR: Unable to listen on port: " << toString(serverPort));
return 1;
}
serverSock.setSync(false);
/* Server Finished Loading */
printf("GServer 2 by 39ster\nSpecial thanks to Marlon, Agret, Pac300, 39ster and others for porting the \noriginal 1.39 gserver to 2.1\nServer listening on port: %i\nServer version: Build %s\n\n", serverPort, listServerFields[3].text());
errorOut("serverlog.txt", "Server started");
if ( listServerFields[5] == "localhost" )
errorOut("serverlog.txt", "[DEBUG_LOCALHOSTMODE] Localhost mode is activated.\nListserver communication & account authentication are disabled.", true);
serverRunning = true;
if ( !(listServerFields[5] == "localhost") )
if (!lsConnected)
ListServer_Connect();
while (serverRunning)
{
long long second = time(NULL);
while (second == time(NULL))
{
acceptNewPlayers(serverSock);
for (int i = 0; i < newPlayers.count(); i ++)
{
CPlayer* player = (CPlayer*)newPlayers[i];
player->main();
if (player->deleteMe)
{
delete player;
i--;
}
}
for(int i = 0; i < playerList.count(); i++)
{
CPlayer* player = (CPlayer*)playerList[i];
player->main();
if(player->deleteMe)
{
delete player;
//.........这里部分代码省略.........