Среда, 18.10.2017, 08:30 Приветствую вас Гость | Группа "Гости" 


[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Волк-1024 
delfcode » Delphi » Windows API в Delphi » Передача большого количества данных через сокеты (Вопрос связанный с реализацией)
Передача большого количества данных через сокеты
HargenДата: Четверг, 20.06.2013, 20:44 | Сообщение # 1
Участник
Зарегистрирован: 08.05.2013
Группа: Пользователи
Сообщений: 66
Статус: Offline
Есть большой объем данных (допустим, более 100 мб ). Его нужно передать через сокетное соединение. Используется протокол TCP, асинхронные сокеты. Как эти данные лучше передать - если сплошным 100 метровым куском слать - все может повиснуть, по идее надо делить на блоки, но вот какой выбрать для них размер, чтобы не черезчур часто вызывать функцию отправки, что затормозит программу.

Главное - не изобретать велосипед

 
Anton93Дата: Четверг, 20.06.2013, 22:13 | Сообщение # 2
Продвинутый
Зарегистрирован: 06.01.2010
Группа: Модераторы
Сообщений: 320
Статус: Offline
Hargen, может быть вывести передачу в отдельный поток? шанс что программа зависнет уменьшится

ICQ: 41896
 
HargenДата: Суббота, 22.06.2013, 16:25 | Сообщение # 3
Участник
Зарегистрирован: 08.05.2013
Группа: Пользователи
Сообщений: 66
Статус: Offline
Anton93, Я планирую сделать множество асинхронных сокетов и для них один поток, который будет раздавать им "кванты времени" (хз как иначе назвать) за которые они отправляют каждый на более заданного количества байтов, просто появляется вопрос какой размер блока данных выбрать

Главное - не изобретать велосипед

 
Don_DiegoДата: Пятница, 28.06.2013, 16:25 | Сообщение # 4
Продвинутый
Зарегистрирован: 16.04.2012
Группа: Пользователи
Сообщений: 251
Статус: Offline
Разрезай файл частями. Однако такой способ подойдет если отправлять непосредственно с компьютера на компьютер.
 
xXxSh@dowxXxДата: Пятница, 28.06.2013, 17:03 | Сообщение # 5
Авторитетный
Зарегистрирован: 22.01.2012
Группа: Модераторы
Сообщений: 702
Статус: Offline
Цитата (Don_Diego)
Однако такой способ подойдет если отправлять непосредственно с компьютера на компьютер.

не совсем, при определенный манипуляциях можно точно так же передавать и через роутеры, и через прочее оборудование, уже обсуждалось wink
 
delfcode » Delphi » Windows API в Delphi » Передача большого количества данных через сокеты (Вопрос связанный с реализацией)
Страница 1 из 11
Поиск:

delfcode.ru © 2008 - 2017 Хостинг от uCoz