реклама на сайте
подробности

 
 
> Медленно передаются пакеы по Ethernet
ruslannd
сообщение Oct 30 2009, 23:42
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783



Использую библиотеку TCP/IP библиотеку от Keil. Есть следующая проблема:
Мое устройство на LPC2388 является сервером. Комп - клиент. Соединено все через Ethernet.
Есть проблема: от клиента пакеты могу принимать десятками за секунду. А от меня могу передать не более 3-4.
Затык происходит при ожидании, когда функция tcp_check_send кейловской библиотеки разрешит передать следующий пакет.
От длины пакета ничего не зависит. С чем это может быть связано?

Сообщение отредактировал ruslannd - Oct 30 2009, 23:45
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ruslannd
сообщение Oct 31 2009, 13:51
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 106
Регистрация: 4-04-06
Пользователь №: 15 783



Посмотрел монитором Ehternet'a.

Получилось что клиент (комп) отсылает пакет подтверждения (ACK) через 0,2 секунды. Я так понимаю, что это связано с флагами Ethernet пакета. Вот только какими? Или я что-то путаю?
Go to the top of the page
 
+Quote Post
VslavX
сообщение Oct 31 2009, 21:00
Сообщение #3


embarrassed systems engineer
*****

Группа: Свой
Сообщений: 1 083
Регистрация: 24-10-05
Из: Осокорки
Пользователь №: 10 038



Цитата(ruslannd @ Oct 31 2009, 15:51) *
Получилось что клиент (комп) отсылает пакет подтверждения (ACK) через 0,2 секунды. Я так понимаю, что это связано с флагами Ethernet пакета.

Нет, это с флагами Ethernеt не связано. Это связано с особенностями протокола TCP, которые называются delayed ACK и Nagle Algorithm, причем эти особенности в Вашем случае "срабатывают" на стороне PC. Если у Вас клиент - самописная программа, то подавить эти "TCP features" для конкретного сокета можно при помощи функции setsockopt(TCP_NODELAY) или глобально (для всей системы): http://msdn.microsoft.com/en-us/library/aa505957.aspx
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 24th August 2025 - 11:29
Рейтинг@Mail.ru


Страница сгенерированна за 0.01396 секунд с 7
ELECTRONIX ©2004-2016