максимальный размер буфера в boost :: asio :: tcp :: socket в Windows - PullRequest
0 голосов
/ 30 ноября 2018

Я сталкиваюсь с проблемой в Windows, когда я использую boost::asio::tcp::socket, я создал процесс сервера эха и пытаюсь async_send и async_receive на локальной машине, сервер отправит обратно сообщение, полученное от клиента, и ядобавьте Sleep (50) в процесс моего сервера, чтобы посмеяться над тем, что сервер может выполнять какую-то другую работу, когда приходят сообщения.следовательно, клиент, возможно, отправил 100000 сообщений, однако сервер получает только 500 сообщений, а остатки все еще получают.

ОК, вот мой вопрос, когда размер моего буфера превышает 60000 байт (около 58,59 КБ)), это не удастся, я отлаживаю программу и пытаюсь найти некоторые подсказки, я видел, что последующее сообщение будет перекрывать предыдущее сообщение, например, с учетом двух сообщений: "01234", "56789", сервер получит "01456789" на самом деле.однако, когда размер меньше этого значения, эхо-сервер и клиент кажутся очень нормальными, и процесс исчерпает мою 16-гигабайтную память, тогда я увидел, что дисковое пространство уменьшается, что означает, что ОС занимает некоторое место на диске в качестве виртуальной памяти.

ОГРОМНОЕ СПАСИБО !!!

...