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

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

-

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

Akh

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

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

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

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


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