Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.07.31;
Скачать: CL | DM;

Вниз

Скорость передачи строк через TTcpServer - TTcpClient   Найти похожие ветки 

 
kotyara   (2009-04-20 17:44) [0]

Нужно передать список переменных (набор строк в виде Name=Value) от сервера к клиенту (и наоборот) по каналу "TTcpServer - TTcpClient".
Собственно передачу данных я отладил хорошо и проблем со структурированными данными не возникает.
Проблема возникла только со скоростью передачи строк в любом виде, когда возникла необходимость передавать текст.

Ниже приведена выдержка из протокола обмена сервера с клиентами, где видно, что на передачу 33 строк общим объемом 2172 байт уходит аж 7 секунд!
Передаю строки "кусочками" (блоками) по 63 символа (как ShortString[63]). Пробовал и по 1 байту, и по 255 и по 128.... разницы практически нет!
Пробовал чередовать передачу блока данных с премом ответа от клиента (скажем эффективную длину только что полученного блока),
передавать блоки непрерывно - нечего не помогает.

18.04.2009 8:17:43 Соединение с компьютером "HOST" [IP-ADDR] закрыто. Время соединения: 00:00:08, всего принято 358 байт, отправлено 5796 байт. Средняя скорость обмена данными: 769,25 байт/сек.
18.04.2009 8:17:43 На компьютер "HOST" [IP-ADDR] передано 64 байт (1 пакет(ов)): список переменных файлового сервера.
18.04.2009 8:17:43 На компьютер "HOST" [IP-ADDR] передано 2172 байт (33 пакет(ов)): список переменных подразделения.
18.04.2009 8:17:35 Установлено соединение с компьютером "HOST" [IP-ADDR]. Всего активных соединений: 1.

Передаю те же самые данные, но записями по 289 байт
TVariable = record
 Name: string[32];
 Value: string[255];
end

Получается, что на каждую "строку" тратится больший объем трафика, причем в большинстве случаев как минимум половина - впустую!
Но скорость в восемь раз больше!!!!

18.04.2009 8:28:43 Соединение с компьютером "HOST" [IP-ADDR] закрыто. Время соединения: 00:00:01, всего принято 184 байт, отправлено 13386 байт. Средняя скорость обмена данными: 13 570,00 байт/сек.
18.04.2009 8:28:43 На компьютер "HOST" [IP-ADDR] передано 289 байт (1 пакет(ов)): список переменных файлового сервера.
18.04.2009 8:28:43 На компьютер "HOST" [IP-ADDR] передано 9537 байт (33 пакет(ов)): список переменных подразделения.
18.04.2009 8:28:42 Установлено соединение с компьютером "HOST" [IP-ADDR]. Всего активных соединений: 1.

Получается парадокс - на передачу меньшего объема данных (но строками) времени уходит больше!
Пробовал использовать "встроенные" функции для обмена строками TTcpClient - тот же результат.
Причем если расположить и сервер и клиент на одной станции, задержки нет. Можно сделать вывод,
что проблема именно в передаче строк, а не в их обработке на клиенте или сервере.

Не могу понять, в чем проблема?


 
Сергей М. ©   (2009-04-20 17:58) [1]


> записями по 289 байт


При TVariable = record размер записи никак не может быть равным 289 байт.


> в чем проблема?


Без приведенного кода навскидку могу предположить, что на стороне передатчика работает агоритм Нагеля.


 
kotyara   (2009-04-20 18:06) [2]


> При TVariable = record размер записи никак не может быть
> равным 289 байт.

На компьютер "HOST" [IP-ADDR] передано 289 байт (1 пакет(ов))


> агоритм Нагеля

Это что?


 
Сергей М. ©   (2009-04-20 19:28) [3]


> На компьютер "HOST" [IP-ADDR] передано 289 байт (1 пакет(ов))


На заборе ХХХ написано, а за забором дрова лежат)


> Это что?


Ты уже погуглил, прежде чем чтокать ?


 
имя   (2009-04-20 20:24) [4]

Удалено модератором


 
Сергей М. ©   (2009-04-20 21:31) [5]


> Rav   (20.04.09 20:24) [4]


А ты-то кто ?)


 
FireMan_Alexey ©   (2009-04-20 22:16) [6]


> Сергей М. ©   (20.04.09 21:31) [5]


Наверное тот, кто не знал, что за забором лежит :)


 
Palladin ©   (2009-04-21 12:29) [7]


> Сергей М. ©   (20.04.09 21:31) [5]

это он же.



Страницы: 1 вся ветка

Текущий архив: 2011.07.31;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.008 c
15-1302553798
Юрий
2011-04-12 00:29
2011.07.31
С днем рождения ! 12 апреля 2011 вторник


15-1302697009
Иксик
2011-04-13 16:16
2011.07.31
Gource


2-1303423377
Gu
2011-04-22 02:02
2011.07.31
Формирование магнитных ссылок


15-1302640197
Юрий
2011-04-13 00:29
2011.07.31
С днем рождения ! 13 апреля 2011 среда


2-1303502928
istok
2011-04-23 00:08
2011.07.31
EndOfTheDay...