Пример для 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.

Другие вопросы по тегам