Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / C++ [игнор отключен] [закрыт для гостей] / Linux Socket и передача данных / 6 сообщений из 6, страница 1 из 1
04.12.2007, 11:18:06
    #34984284
SantaClaus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linux Socket и передача данных
Всем доброго времени суток! Вопрос в слудующем:
Пишу на С++ Linux Mandriva 2007. Есть приложение клиент сервер. работа через сокеты. Нужно передовать информацию примерного обьема от 1 до 50 мегабайт. Почитал, понял что предстоит передавать побойтова, как это реализовать (отправку и прием)?
...
Рейтинг: 0 / 0
04.12.2007, 11:24:14
    #34984308
-Sergey-
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linux Socket и передача данных
link для ознакомления

насколько мне известно не существует ограничения на передачу данным размером большим чем 50 mb

-

Цель в жизни определяет все..
Выбор есть всегда..
Но мы часто не хотим его делать..
...
Рейтинг: 0 / 0
04.12.2007, 11:37:02
    #34984368
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linux Socket и передача данных
Передавай по тисипи килобайтными, например, блоками. Смотреть man socket PF_INET, SOCK_STREAM. Также bind, connect, listen, accept, recv, send, close. Мона select, если захочешь не блокирующими. Если будешь работать асинхронно, смотреть соответсвующие события.
...
Рейтинг: 0 / 0
04.12.2007, 11:53:39
    #34984437
blinded
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linux Socket и передача данных
Купить книжки том 1 и том 2 , скачать библиотеку и содрать все у классика
...
Рейтинг: 0 / 0
04.12.2007, 13:33:18
    #34984924
SantaClaus
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linux Socket и передача данных
AkhПередавай по тисипи килобайтными, например, блоками. Смотреть man socket PF_INET, SOCK_STREAM. Также bind, connect, listen, accept, recv, send, close. Мона select, если захочешь не блокирующими. Если будешь работать асинхронно, смотреть соответсвующие события.

Akh

большое спасибо за верное напровление, разобрался с командами. сделал передачу простого текстового сообщения. Сейчас только вопрос остался за делением файла.
Скажите, какой максимальный объем буфера Возможен ?
=========
char buf[???] ;
recv(параметр, buf ,параметр, параметр )
=========
...
Рейтинг: 0 / 0
04.12.2007, 13:52:07
    #34984998
Akh
Akh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Linux Socket и передача данных
SantaclauS
Скажите, какой максимальный объем буфера Возможен ?
=========
char buf[???] ;
recv(параметр, buf ,параметр, параметр )
=========

например. Можешь для уточнения еще поискать в инете.

В любом случае максимальный размер передаваемых данных в инете 1518 байт. У меня pcap даже больше 1514 не передавал. Значит надо ориентироваться на эти цифры, т.к. tcp будет большие пакеты просто-напросто резать и передавать по частям. Конечно 2-й и последующие блоки могут иметь заголовок поменьше, и собираться будут побыстрее, но не думаю, что можно получить заметное прибавление. Так что для простоты можешь указать размер блока 1518 - размер заголовоков EthernetII + IP + TCP. Это порядка 0x36 байт, т.е. отправляй по 1514-0x36 =1460 байт.

Далее, можешь потестить скорость передачи, когда приложение будет готово, увеличивая размер буфера. Задай заранее размер буфера константой или макросом и везде ее используй, тогда будет проще менять ее значение.
...
Рейтинг: 0 / 0
Форумы / C++ [игнор отключен] [закрыт для гостей] / Linux Socket и передача данных / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]