本文整理汇总了C++中CSocket::connect方法的典型用法代码示例。如果您正苦于以下问题:C++ CSocket::connect方法的具体用法?C++ CSocket::connect怎么用?C++ CSocket::connect使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类CSocket
的用法示例。
在下文中一共展示了CSocket::connect方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: main
int main(int argc, char* argv[])
{
WSADATA Ws;
if ( WSAStartup(MAKEWORD(2,2), &Ws) != 0 )
{
cout<<"Init Windows Socket Failed::"<<GetLastError()<<endl;
return -1;
}
CSocket mysocket;
if ( false == mysocket.init() )
{
cout<<"Create Socket Failed!"<<endl;
return -1;
}
if ( false == mysocket.connect(AF_INET, IP_ADDRESS, PORT) )
{
cout<<"Connect Failed!"<<endl;
return -1;
}
else
{
cout<<"Connect Success!"<<endl;
}
//SOCKET clientSocket = mysocket.accept_connect();
ThreadPool threadPool(1);
threadPool.Call(&DoJob);
fd_set fdread;
int ret;
while(true)
{
// FD_ZERO(&fdread);
// FD_SET(mysocket.get_sock(), &fdread);
// if (SOCKET_ERROR == (ret = select(0, &fdread, NULL, NULL, NULL)))
// {
// continue;
// }
//
// if (ret > 0)
// {
// if (FD_ISSET(mysocket.get_sock(), &fdread))
// {
//
// }
// }
}
WSACleanup();
return 0;
}
示例2: ListServer_Connect
void ListServer_Connect()
{
if ((lsConnected = listServer.connect(findKey("listip"), atoi(findKey("listport")))) == false)
{
errorOut("rclog.txt", "Unable to connect to list server", true);
return;
}
errorOut("rclog.txt", "Connected to the list server successfully\n", true);
listServer.setSync(false);
// send gserver info to listserver
ListServer_Send(CPacket() << (char)SLSNAME << listServerFields[0] << "\n" << (char)SLSDESC << listServerFields[1] << "\n" << (char)SLSLANG << listServerFields[2] << "\n" << (char)SLSVER << listServerFields[3] << "\n" << (char)SLSURL << listServerFields[4] << "\n" << (char)SLSIP << listServerFields[5] << "\n" << (char)SLSPORT << toString(serverPort) << "\n");
// send players to listserver
CPacket pPacket;
for (int i = 0; i < playerList.count(); i++)
{
CPlayer *player = (CPlayer *)playerList[i];
pPacket << (char)player->accountName.length() << player->accountName << player->getProp(NICKNAME) << player->getProp(CURLEVEL) << player->getProp(PLAYERX) << player->getProp(PLAYERY) << player->getProp(PALIGNMENT) << (char)player->type;
}
ListServer_Send(CPacket() << (char)SLSCOUNT << (char)playerList.count() << pPacket << "\n");
}
示例3: 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*) );
defaultFiles.load( __defaultfiles, sizeof(__defaultfiles) / 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 */
serverSock.setType( SOCKET_TYPE_SERVER );
serverSock.setProtocol( SOCKET_PROTOCOL_TCP );
serverSock.setOptions( SOCKET_OPTION_NONBLOCKING );
serverSock.setDescription( "serverSock" );
CString empty;
if ( serverSock.init( empty, serverPort ) )
return 1;
// Connect server socket.
if ( serverSock.connect() )
{
errorOut("errorlog.txt", CString() << "SOCK ERROR: Unable to listen on port: " << serverPort);
return 1;
}
/* 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: %s\nServer version: Build %s\n\n", serverPort.text(), 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();
//.........这里部分代码省略.........
示例4: ListServer_Connect
void ListServer_Connect()
{
if ( serverRunning == false ) return;
if ( setSock == false )
{
setSock = true;
listServer.setDescription( "listserver" );
listServer.setProtocol( SOCKET_PROTOCOL_TCP );
listServer.setType( SOCKET_TYPE_CLIENT );
listServer.setOptions( SOCKET_OPTION_NONBLOCKING );
}
CString ip(findKey("listip")), port(findKey("listport"));
listServer.init( ip, port );
int val = listServer.connect();
if (val == 0 || val == SOCKET_ALREADY_CONNECTED) lsConnected = true;
else lsConnected = false;
if ( !lsConnected )
{
errorOut("errorlog.txt", CBuffer() << "Unable to connect to list server.", true);
listServer.disconnect();
return;
}
errorOut("serverlog.txt", CBuffer() << "Connected to the list server successfully.", true);
// Send the ServerHQ password.
CPacket pack;
pack << (char)SLSSERVERHQPASS << serverhq_pass << "\n";
// assemble server packet.
pack << (char)SLSNEWSERVER << (char)listServerFields[0].length() << listServerFields[0];
pack << (char)listServerFields[1].length() << listServerFields[1];
pack << (char)listServerFields[2].length() << listServerFields[2];
pack << (char)listServerFields[3].length() << listServerFields[3];
pack << (char)listServerFields[4].length() << listServerFields[4];
pack << (char)listServerFields[5].length() << listServerFields[5];
pack << (char)serverPort.length() << serverPort;
if (localip == CString("AUTO"))
{
CString slocalip(listServer.getLocalIp());
if (slocalip == CString("127.0.1.1") || slocalip == CString("127.0.0.1"))
{
errorOut("serverlog.txt", CBuffer() << "[WARNING] Socket returned " << slocalip << " for its local ip! Not sending local ip to serverlist.", true);
pack << (char)0;
}
else pack << (char)slocalip.length() << slocalip;
}
else pack << (char)localip.length() << localip;
pack << "\n";
// Send the ServerHQ level.
pack << (char)SLSSERVERHQLEVEL << (char)serverhq_level << "\n";
// send gserver info to listserver
ListServer_Send(pack);
// send players to listserver
CPacket pPacket;
for (int i = 0; i < playerList.count(); i++)
{
CPlayer *player = (CPlayer *)playerList[i];
pPacket << (char)player->accountName.length() << player->accountName << player->getProp(NICKNAME) << player->getProp(CURLEVEL) << player->getProp(PLAYERX) << player->getProp(PLAYERY) << player->getProp(PALIGNMENT) << (char)(1 << player->type);
}
ListServer_Send(CPacket() << (char)SLSCOUNT << (char)playerList.count() << pPacket << "\n");
}