Привет,
написал небольшой telnet сервер. Добился того, что в режиме char-by-char сервер нормально общается и с bsd шным клиентом и telnet клиентом от microsoft. char-by-char значит, что то, что нажимается на клавиатуре передается клиентом серверу байт за байтом без задержек (один tcp пакет на символ). Это в теории. На самом деле похоже на то, что windows кеширует отправку. Похоже отправляемые символы накапливаются в стеке и если некоторое время больше не поступает данных, то накопленные отправляются.
Чем медленне набирать, тем больше задержка перед отправкой, до трех секунд.
Ах да, когда сервер получает байт с данными, то он его отправляет клиенту обратно и только тогда тот показывает его на экране. Я вроде нашел, что то про ACK, типа сервер должен посылать aknowledge сообщение на счет принятых данных и чем быстрее будет приходить этот ack event до клиента, тем меньше будет кэширование.
Я пробовал после приема символов отправлять ACK(0x06), но телнет клиенты пытаются его отображать.
Вообщем как отключить кэширование?
Никто такими вещами не занимался?
Спасибо