Приведенный ниже фрагмент кода используется для разделения приема/отправки TCP и обработки сообщений на уровне пользователя.
Класс Server функционирует как TCP-сервер, ответственный за получение и отправку сообщений. в то время как класс PacketProc используется для разделения TCP-пакетов пользовательского уровня и непосредственного ответа на определенные типы сообщений, например пакеты Heartbeat. В результате функция Server::send(const std::vector& data) должна быть вызвана внутри PacketProc::process(), а экземпляр Server должен быть передан в PacketProc (Server* ptr).< /p>
Есть ли лучший способ добиться такого разделения? Похоже, что передача экземпляра Server конструктору PacketProc может быть не самым подходящим решением.
#include
#include
#include
class Server;
class PacketProc
{
public:
PacketProc(Server* ptr):m_server(*ptr){std::cout
Подробнее здесь: https://stackoverflow.com/questions/787 ... processing