Доброго дня!
Надеюсь Юрий Тёмкин прочитает этот топик...
Использую LPC2387 с TNKernel и TN NET TCP/IP stack и хочу в первую очередь сказать огромное спасибо Юрию за отличную работу.
Моя задача: Логгер (server) должен поереносить на запрос записанные данные с 2GB SD флеш к PC Эти данные переносятся в блоках переменной величины. Проблема: Стек переност 2 пакета по128 байт на 1 ACK, и если переность кратное от 128 байт то всё прекрасно. Но при неудачном случае если 2 последних TCP пакета 128 и к примеру 100 байт то то стек не посылает срзу второй пакет (100 байт,) а ждёт ACK на первый, тот приходит на первые 128 байт с задержкой до 200мс. Что не приемлемо для моей задачи.
Это поведение описано в Delayed ACK - RFC1122
Возможно ли изменить это поведение в TN NET TCP/IP stack или сокетах со стороены PC Windows, Visual Studio WTL? До этого исползовал WIZnet c XC167 где второй пакет посылается сразу не зависимо о длинны данных.
Взаранее благодарен.
|