Пример для boost::asio для одного пакета
Это мой код
Packet.h
typedef struct
{
BYTE header;
TSimplePlayerInformation akSimplePlayerInformation[PLAYER_PER_ACCOUNT];
DWORD guild_id[PLAYER_PER_ACCOUNT];
char guild_name[PLAYER_PER_ACCOUNT][GUILD_NAME_MAX_LEN + 1];
DWORD handle;
DWORD random_key;
} TPacketGCLoginSuccess;
Network.cpp
bool CPythonNetworkStream::__RecvLoginSuccessPacket()
{
TPacketGCLoginSuccess kPacketLoginSuccess;
if (!Recv (sizeof (kPacketLoginSuccess), &kPacketLoginSuccess))
{
return false;
}
for (int i = 0; i < PLAYER_PER_ACCOUNT; ++i)
{
m_akSimplePlayerInfo[i] = kPacketLoginSuccess.akSimplePlayerInformation[i];
m_adwGuildID[i] = kPacketLoginSuccess.guild_id[i];
m_astrGuildName[i] = kPacketLoginSuccess.guild_name[i];
}
m_kMarkAuth.m_dwHandle = kPacketLoginSuccess.handle;
m_kMarkAuth.m_dwRandomKey = kPacketLoginSuccess.random_key;
if (__DirectEnterMode_IsSet())
{
}
else
{
PyCallClassMemberFunc (m_apoPhaseWnd[PHASE_WINDOW_SELECT], "Refresh", Py_BuildValue ("()"));
}
return true;
}
Это пакет recv с сервера, и я хочу написать его с asio. Кто-то может дать мне пример, с чего мне начать?
У меня MMORPG игра и сеть очень медленная, я начал переписывать с asio, но мне нужен пример с чего мне начать?
:)
1 ответ
Вы можете найти примеры, которые вы ищете на странице официального сайта Boost, связанные с учебниками.
В частности, вы можете найти многократно используемый пример среди примеров синхронного / асинхронного дневного сервера и клиента.
Учебные руководства / примеры в ссылке относятся к версии 1.60.0 Boost. Если вам нужны примеры для другой выпущенной версии Boost, вы можете изменить ссылку, изменив только имя версии в URL.