Я сталкиваюсь с проблемой в Windows, когда я использую boost::asio::tcp::socket
, я создал процесс сервера эха и пытаюсь async_send
и async_receive
на локальной машине, сервер отправит обратно сообщение, полученное от клиента, и ядобавьте Sleep (50) в процесс моего сервера, чтобы посмеяться над тем, что сервер может выполнять какую-то другую работу, когда приходят сообщения.следовательно, клиент, возможно, отправил 100000 сообщений, однако сервер получает только 500 сообщений, а остатки все еще получают.
ОК, вот мой вопрос, когда размер моего буфера превышает 60000 байт (около 58,59 КБ)), это не удастся, я отлаживаю программу и пытаюсь найти некоторые подсказки, я видел, что последующее сообщение будет перекрывать предыдущее сообщение, например, с учетом двух сообщений: "01234", "56789", сервер получит "01456789" на самом деле.однако, когда размер меньше этого значения, эхо-сервер и клиент кажутся очень нормальными, и процесс исчерпает мою 16-гигабайтную память, тогда я увидел, что дисковое пространство уменьшается, что означает, что ОС занимает некоторое место на диске в качестве виртуальной памяти.
ОГРОМНОЕ СПАСИБО !!!