本文整理汇总了C++中MessageHandler::isUserIPAvailable方法的典型用法代码示例。如果您正苦于以下问题:C++ MessageHandler::isUserIPAvailable方法的具体用法?C++ MessageHandler::isUserIPAvailable怎么用?C++ MessageHandler::isUserIPAvailable使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类MessageHandler
的用法示例。
在下文中一共展示了MessageHandler::isUserIPAvailable方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: run
void* MessageHandler::run(void* data) {
MessageHandler *ml = (MessageHandler*) data;
Message *message=&ml->incomingMessage;
ml->message=ml->incomingMessage;
MessageCreator *mcreator=new MessageCreator();
json::Object json;
try {
if(message->header==mcreator->H_DECLARATION){
if(!ml->isUserIPAvailable(message->fromIP)){
ml->addNewUser(message->fromIP);
//MESSAGE:{"HEADER:","CONTENT:",USERLIST:{}}
mcreator->preapareUserList(json);
//mcreator->createMessage(mcreator->H_USERLIST,json,"","");
ml->sendMessageToUser(message->fromIP, mcreator->createMessage(mcreator->H_USERLIST,json,"",""));
}else{
//MESSAGE:{"HEADER:ERROR","CONTENT:",USERLIST:{}}
ml->sendMessageToUser(message->fromIP, mcreator->createMessage(mcreator->H_USERLIST,json,"",""));
//ml->sendMessageToUser(message->fromIP,mcreator->createMessage(mcreator->H_ERROR,mcreator->NODATA,"",""));
}
}else if(message->header==mcreator->H_MESSAGETOUSER){
if(ml->isUserIPAvailable(message->toIP)){
//MESSAGE is user message//std::string DECLERATION="DECLERATION";
//std::string MESSAGETOUSER="MESSAGETOUSER";
//std::string UPDATE="UPDATE";
ml->sendMessageToUser(message->toIP,mcreator->createMessage(mcreator->H_MESSAGETOUSER,message->message,message->fromIP,message->toIP));
}else{
//ERRORMESSAGE=User isn't available anymore!
ml->sendMessageToUser(message->fromIP,mcreator->createMessage(mcreator->H_ERROR,mcreator->USERNOTAVAILABLE,"",""));
}
}else if(message->header==mcreator->H_UPDATE){
bool success=false;
//ERRORMESSAGE: This message couldn't be recognized by our system!
if(ml->isUserIPAvailable(message->fromIP)){
success=ml->updateUserTimeoutDuration(message->fromIP);
}
if(success){
//MESSAGE:{"HEADER:","CONTENT:",USERLIST:{}}
ml->sendMessageToUser(message->fromIP, mcreator->createMessage(mcreator->H_USERLIST,json,"",""));
}else{
//MESSAGE:{"HEADER:ERROR","CONTENT:",USERLIST:{}}
ml->sendMessageToUser(message->fromIP,mcreator->createMessage(mcreator->H_ERROR,mcreator->NODATA,"",""));
}
}else{
ml->sendMessageToUser(message->fromIP,mcreator->createMessage(mcreator->H_ERROR,mcreator->MESSAGEUNKNOWN,"",""));
}
delete mcreator;
Utilities::writeConsole(" Check connectivity");
//sleep(updateDuration);
} catch (std::exception& e) {
std::cerr<<className << e.what() << std::endl;
}
pthread_exit(NULL);
}