С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Lis_p
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 9
#1

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

28.05.2014, 10:35. Просмотров 362. Ответов 4
Метки нет (Все метки)

Создаем сервер udp, слушаем порт, как можно сделать так чтобы пока я обрабатываю 1 полученный пакет, все остальные в очереди стоят, чтобы не посеять их?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.05.2014, 10:35
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Слушание udp порта (C++):

UDP Client - C++
Привет всем! У меня тут такой вопрос возник: можно ли создать UDP Client к уже существующему серверу UDP пример: вот UDP...

Udp контрольная сумма - C++
Всем hi ! Есть udp пакет и я пытаюсь вычислить udp-контрольную сумму. typedef unsigned char uint8_t; typedef unsigned short uint16_t; ...

Приложение Клиент-сервер UDP - C++
Выкладываю потому что пока написал переискал кучу информации, а нормальных примеров работы с массивом не нашёл. Надеюсь кому нибудь...

Быстрая передача udp пакетов - C++
Есть задача передать udp пакеты, как можно быстрее. Точнее, данные 1024*768 байт должны передаваться за 5 мс, сейчас добился скорости в...

UDP отправка и прием пакетов - C++
Вообщем такая ситуация. Отправляю пакеты объемом по 1 кБайту, пачками по 32 через определенное время (маленькое). Вообщем около 8000...

Общение игрострой TCP/UDP - C++
Привет всем! Как написать чат, сериализовывать и десериализовывать я знаю. Передавать файлы по FTP. Тоже НЕ могу понять что передавать...

4
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,405
28.05.2014, 10:47 #2
Лехко. Слушание порта вынеси в отдельный поток. Все принятые пакеты просто складывай в очередь на обработку. А логика приложения уже займется разгребанием этой очереди и отправкой ответов.

Правда, в ситуации, когда скорость поступления запросов стабильно превосходит скорость их обработки, рано или поздно неминуемо возникнет ситуация, когда очередь переполнится. Что делать в таком случае - решать тебе. А вот если входные запросы идут бурстами, по принципу "то густо, то пусто", и средняя скорость поступления запросов не превышает скорости их обработки, то такой механизм вполне приемлем.
0
Lis_p
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 9
28.05.2014, 10:53  [ТС] #3
А можно ли в одном потоке выполнять?Выделить под входящие данные буфера на очень много памяти
0
CheshireCat
Эксперт С++
2896 / 1245 / 78
Регистрация: 27.05.2008
Сообщений: 3,405
28.05.2014, 11:01 #4
Вероятно, можно. Но имхо архитектурно более правильно сделать многопоточное приложение. Это же классическая схема "много писателей - один читатель".
0
Lis_p
0 / 0 / 0
Регистрация: 15.05.2014
Сообщений: 9
28.05.2014, 11:09  [ТС] #5
Как увеличить буфер приходящих сообщений?
0
28.05.2014, 11:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.05.2014, 11:09
Привет! Вот еще темы с ответами:

Winsock - UDP вместо ТСР - C++
В /cpp-networks/ довольно грустно и пустынно, так что боюсь вынужден скопировать тему сюда.Ссылка на старую тему для модератора:...

Как передать ссылку на переменную по UDP? - C++
Все в пределах одного компьютера. Две программы. Одна имеет переменную int r; Вторая должна получить ссылку и считывать в любое...

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

Посоветуйте библиотеки для работы по UDP протоколу - C++
Здравствуйте, посоветуйте пожалуйста библиотеки и возможно литературу в чтобы разобраться и реализовать передачу данных в программе по UDP...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.