Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/13: Рейтинг темы: голосов - 13, средняя оценка - 4.85
290 / 193 / 23
Регистрация: 03.08.2011
Сообщений: 2,824
Записей в блоге: 12
1

Сокеты: отключение ожидания приёма данных

10.08.2012, 10:52. Показов 2573. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
мне надо Recv сделать на 10 у секунду а не на бесконечное зависание, как это сделать? (помоему setsockport нужен с правильными параметрами )
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.08.2012, 10:52
Ответы с готовыми решениями:

Отключение клиента от сервера. сокеты
Здравствуйте, пишу простой чат с использованием сокетов. Чат работает вполне адекватно, но есть...

время ожидания приема соединения функцией accept
Здравствуйте! Ситуация: Сервер "прослушивает" порт, к которому подсоединился клиент, но функцию...

Таймер ожидания для recvfrom (сокеты, UDP)
Как установить таймер ожидания для функции recvfrom?

Отключение клиента, сокеты
доброго времени суток. пишу небольшой чат основанный на сокетах и столкнулся с проблемой при...

2
Модератор
3401 / 2172 / 353
Регистрация: 13.01.2012
Сообщений: 8,413
10.08.2012, 11:56 2
Лучший ответ Сообщение было отмечено Van111 как решение

Решение

не совсем понял. можно просто проверять есть ли данные без блокировки.
C++
1
2
3
4
5
6
7
8
9
            fd_set s_set = {1, {s}};
            timeval timeout = {0, 0};
            int select_res = select(0, &s_set, 0, 0, &timeout);
            if (select_res == SOCKET_ERROR)
            {
            }
            else if (select_res)
            {
            }
0
1080 / 1007 / 106
Регистрация: 28.02.2010
Сообщений: 2,889
10.08.2012, 12:03 3
Цитата Сообщение от Van111 Посмотреть сообщение
помоему setsockport нужен с правильными параметрами
Да.
C
1
2
3
4
5
6
struct timeval tv;
 
tv.tv_sec = 30;  /* 30 Secs Timeout */
tv.tv_usec = 0;  // Not init'ing this can cause strange errors
 
setsockopt(sockfd, SOL_SOCKET, SO_RCVTIMEO, (char *)&tv,sizeof(struct timeval));
Потом уже recv.
2
10.08.2012, 12:03
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.08.2012, 12:03
Помогаю со студенческими работами здесь

Сокеты: Отловить отключение клиента
Собственно,сделал я сервер.Приём пакетов для каждого подключения в отдельном потоке.Проблема в...

Отключение Лишних Портов И Изменить Время Ожидания.(как Сделать Сразу
При установке клиентов создалось 2 порта по котором клиент работает(TCPIP,LAN0). Соответственно в...

База данных с возможностью приема данных из файлов Excel
Здравствуйте Уважаемые! В "Delphi для начинающих" по этому вопросу НИКТО не помог:( Может здесь я...

Фильтр приема данных
Добрый день, к МК по UART подключено устройство от которого по запросу приходят следующего вида...


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

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