1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/lsylovews-CM-Server

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
networkmanager.cpp 1.9 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
lsylovews Отправлено 22.02.2019 15:22 e234e9a
#include"networkmanager.h"
#include"Json/reader.h"
#include"tool.h"
using namespace Json;
DEFINE_SINGLE_ATTRIBUTES(NetWorkManager);
NetWorkManager::NetWorkManager()
{
}
void NetWorkManager::startServer()
{
if(!m_socketManager.StartServer())
{
cout<<"start server success!"<<sizeof(int)<<endl;
}
else
{
cout<<m_socketManager.GetLastError()<<endl;
cout<<"start server failed!"<<endl;
}
}
Slot* NetWorkManager::add(const int & messageId, const EventHandler& evHandler)
{
if (m_signals.find(messageId) != m_signals.end())
return m_signals[messageId].add(evHandler);
else
{
m_signals[messageId] = Signal();
return m_signals[messageId].add(evHandler);
}
}
Slot * NetWorkManager::add(const int & messageId, const std::function<void(Json::Value&)>& func)
{
if (m_signals.find(messageId) != m_signals.end())
return m_signals[messageId].add(func);
else
{
m_signals[messageId] = Signal();
return m_signals[messageId].add(func);
}
}
void NetWorkManager::dispatch(const int & messageId,Json::Value& message)
{
cout<<"NetWorkManager::dispatch"<<message.toStyledString()<<endl;
m_signals[messageId].dispatch(message);
}
void NetWorkManager::send(const int& fd,const int & messageId, const std::map<std::string, std::string>& msg)
{
Json::Value value;
value["MessageId"] = messageId;
for (auto var : msg)
{
if (isNum(var.second))
value[var.first] = std::stof(var.second);
else
value[var.first] = var.second;
}
std::string out = value.toStyledString();
m_socketManager.SendMsg(fd,(char*)out.c_str(), out.length());
}
void NetWorkManager::send(const int& fd,const int & messageId, Json::Value& msg)
{
msg["MessageId"]=messageId;
std::string out=msg.toStyledString();
cout<<"send:"<<out<<endl;
m_socketManager.SendMsg(fd,(char*)out.c_str(),out.length());
}

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/lsylovews-CM-Server.git
git@api.gitlife.ru:oschina-mirror/lsylovews-CM-Server.git
oschina-mirror
lsylovews-CM-Server
lsylovews-CM-Server
master