Форум программистов, компьютерный форум, киберфорум
C/С++ под Linux
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 01.03.2017
Сообщений: 7
1

Функция recv()

21.05.2017, 17:07. Показов 1210. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Хэлоу! Несколько вопросов по поводу использования функции recv() в Linux:
1) функция не успевает обработать все пришедшие пакеты и оставшиеся
обрабатываются при следующем запуске. Каким образом можно "подождать" обработки всех пакетов в очереди?

2) Куда помещается только что принятый пакет перед помещением его в буфер, указанном в функции?
Откуда recv() его достает?

Всем спасибо за внимание
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
21.05.2017, 17:07
Ответы с готовыми решениями:

Почему функция recv() возвращает 0?
Вроде бы, она возвращает либо -1, либо количество принятых байт. Я отправляю сообщения от...

Почему виснет recv?
Не могу понять почему у меня в клиентской части программы виснет приём данных? Если выполнять...

recv() и send() странное поведение
Проблема в двух словах такая, программа сервер принимает сообщение от клиента обрабатывает и...

Тип возврата функции recv и максимально возможный размер принятого пакета.
Как известно,функция recv возвращает переменную типа ssize_t. А может ли вообще сегмент...

2
1786 / 1036 / 445
Регистрация: 12.05.2016
Сообщений: 2,550
21.05.2017, 18:47 2
Цитата Сообщение от Sys54 Посмотреть сообщение
функция не успевает обработать все пришедшие пакеты и оставшиеся
обрабатываются при следующем запуске. Каким образом можно "подождать" обработки всех пакетов в очереди?
Передать размер вместе с данными и вычитывать данные в цикле, пока они не будут равны размеру.
Цитата Сообщение от Sys54 Посмотреть сообщение
2) Куда помещается только что принятый пакет перед помещением его в буфер, указанном в функции?
Хз, наверное, в какой-нибудь dma буфер.
1
153 / 148 / 66
Регистрация: 20.02.2014
Сообщений: 556
24.05.2017, 20:01 3
Цитата Сообщение от Sys54 Посмотреть сообщение
Откуда recv() его достает?
kernel skb struct
1
24.05.2017, 20:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.05.2017, 20:01
Помогаю со студенческими работами здесь

Функция recv
Привет всем! Решил написать простенький ftp клиент, чтобы понять сущность работы сокетов. ...

Функция recv принимает неизвестные данные
Проконтролировал отладчиком программу. Выяснил что клиент получает пустую строку т.е. (""), хотя на...

Как функция recv() читает UDP-пакеты?
отправленный пакет с udp клиента ( при помощи функции send()) читается на сервере за один раз (при...

Функция recv не разблокируется после отправки сообщения в канал
Добрый день уважаемые форумчане. В общем, возникла проблема связанная с передаче данных через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru