Форум программистов, компьютерный форум CyberForum.ru

Слушание udp порта - C++

Восстановить пароль Регистрация
 
Lis_p
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 9
28.05.2014, 10:35     Слушание udp порта #1
Создаем сервер udp, слушаем порт, как можно сделать так чтобы пока я обрабатываю 1 полученный пакет, все остальные в очереди стоят, чтобы не посеять их?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 10:35     Слушание udp порта
Посмотрите здесь:

C++ UDP Client
Чтение из COM-порта C++
Как передать ссылку на переменную по UDP? C++
UDP отправка и прием пакетов C++
C++ Приложение Клиент-сервер UDP
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
28.05.2014, 10:47     Слушание udp порта #2
Лехко. Слушание порта вынеси в отдельный поток. Все принятые пакеты просто складывай в очередь на обработку. А логика приложения уже займется разгребанием этой очереди и отправкой ответов.

Правда, в ситуации, когда скорость поступления запросов стабильно превосходит скорость их обработки, рано или поздно неминуемо возникнет ситуация, когда очередь переполнится. Что делать в таком случае - решать тебе. А вот если входные запросы идут бурстами, по принципу "то густо, то пусто", и средняя скорость поступления запросов не превышает скорости их обработки, то такой механизм вполне приемлем.
Lis_p
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 9
28.05.2014, 10:53  [ТС]     Слушание udp порта #3
А можно ли в одном потоке выполнять?Выделить под входящие данные буфера на очень много памяти
CheshireCat
Эксперт С++
2907 / 1235 / 78
Регистрация: 27.05.2008
Сообщений: 3,307
28.05.2014, 11:01     Слушание udp порта #4
Вероятно, можно. Но имхо архитектурно более правильно сделать многопоточное приложение. Это же классическая схема "много писателей - один читатель".
Lis_p
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 9
28.05.2014, 11:09  [ТС]     Слушание udp порта #5
Как увеличить буфер приходящих сообщений?
Yandex
Объявления
28.05.2014, 11:09     Слушание udp порта
Ответ Создать тему
Опции темы

Текущее время: 09:23. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru