bool ServerConnectMgr::ConnectToServer(int32 nServerID,int32 nServerType,const char arrHost[32],int32 nPort,NetMsgEnter fEnter,NetMsgOn fMsg,NetMsgExit fExit) { NetClientInfoVecterType::iterator it = m_vecNetClientInfo.begin(); NetClientInfoVecterType::iterator itEnd = m_vecNetClientInfo.end(); for (; it != itEnd;++it) { if((*it)->nServerID == nServerID) return false; } NetClient* pNetClient = new NetClient(); pNetClient->SetAddress(arrHost, nPort); pNetClient->SetHandler(fEnter,fMsg,fExit); pNetClient->Start(); NetClientInfo* pConn = new NetClientInfo(); pConn->pNetClient = pNetClient; pConn->nServerID = nServerID; pConn->nServerType = nServerType; m_vecNetClientInfo.push_back(pConn); return true; }
void ClientInit() { InitNetMsg(); for (int32 i = 0; i < MAX_CLIENT_COUNT; ++i) { NetClient* gNetClient = new NetClient(); gNetClient->SetAddress("127.0.0.1", 9900); gNetClient->SetHandler(OnNetMsgEnter, OnNetMsg, OnNetMsgExit); gNetClient->Start(); ClientPlayer* gPlayer = new ClientPlayer(); gPlayer->SetSocket(gNetClient->GetSocket()); ClientPlayerMgr::Instance()->AddSocket(gNetClient,gPlayer); } //命令调试 //gGameCommond.Init(gNetClient->GetSocket()); //GameCommand::CommandHelp(); }