本文整理汇总了C++中chat_session_ptr::socket方法的典型用法代码示例。如果您正苦于以下问题:C++ chat_session_ptr::socket方法的具体用法?C++ chat_session_ptr::socket怎么用?C++ chat_session_ptr::socket使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类chat_session_ptr
的用法示例。
在下文中一共展示了chat_session_ptr::socket方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetIpCommandHandler
bool GetIpCommandHandler(chat_session_ptr _client, char const* args)
{
std::string s = "Tu IP es: " + _client->socket().remote_endpoint().address().to_string();
_client->SendMessageClient(s);
return true;
}
示例2: SendAllHandler
bool SendAllHandler(chat_session_ptr _client, char const* args)
{
if (!args)
return false;
std::string from = std::string();
if (!_client)
from = "Console: ";
else
from = _client->socket().remote_endpoint().address().to_string() + ": ";
from += args;
sServerGlobals->AssynSendMessageAllClients(from);
return true;
}
示例3: SendHandler
bool SendHandler(chat_session_ptr _client, char const* args)
{
if (!args)
return false;
char* to_ = strtok((char*)args, " ");
char* msg_ = strtok(NULL, "");
if (!to_ || !msg_)
return false;
std::string from = std::string();
if (!_client)
from = "Console: ";
else
from = _client->socket().remote_endpoint().address().to_string() + ": ";
from += msg_;
if (strcmp(to_, "Console") == 0)
{
std::cout << from;
return true;
}
std::list<chat_session_ptr>::const_iterator itr = sServerGlobals->GetClientList().begin();
bool send_ = false;
for (; itr != sServerGlobals->GetClientList().end(); ++itr)
{
if ((*itr) && (*itr)->socket().is_open())
{
if ((*itr)->socket().remote_endpoint().address().to_string() == to_)
{
(*itr)->SendMessageClient(from);
send_ = true;
}
}
}
if (!send_)
CommandsMgr::SendMessageBoth(_client, "No se a encontrado un cliente con esa IP.");
return true;
}