crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> [Решено] UDP сервер для многих клиентов?, Ну а на самом деле просто быстрый сервер
Norrius
  опции профиля:
сообщение 23.8.2012, 16:31
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 26
Регистрация: 30.12.2011
Пользователь №: 3105

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день, уважаемые. После нескольких тестов и вдумчивого чтения документации я выяснил, что TCP буферизует данные, а открыть сокет в режиме Unbuffered нельзя. Как показала дальнейшая проверка, использование вместо этого UDP сокетов решает проблему и данные начинают приходить в реальном времени. Но вот в чем суть: мне нужно, чтобы сервер мог обрабатывать параллельно данные нескольких клиентов сразу.

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

Информация будет пересылаться в обе стороны. Для TCP есть класс QTcpServer, предоставляющий функционал для работы со многими клиентами, но может ли такое сделать на протоколе UDP, который, как я понял, не оперирует соедиениями?


UPD. Все это бред, удалось заставить TCP сокет передавать данные нормально.

Сообщение отредактировал Norrius - 25.8.2012, 12:22
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме
- Norrius   [Решено] UDP сервер для многих клиентов?   23.8.2012, 16:31
- - PAFOS   TCP буферизует данные да, это так если, но если от...   23.8.2012, 16:46
- - Norrius   Спасибо. Мне действительно на самом деле не сдался...   23.8.2012, 17:30
- - Norrius   Хм, а где находятся необходимые объявления? Нагугл...   23.8.2012, 18:36
- - PAFOS   Для винды надо подключать winsock.h   23.8.2012, 18:46
- - Norrius   Ругается на некое 'HANDLE', сильно ругаетс...   23.8.2012, 19:37
|- - Iron Bug   Цитата(Norrius @ 23.8.2012, 22:37) Ругает...   23.8.2012, 20:04
- - Norrius   #include <Windows.h> не помогает, все равно:...   23.8.2012, 20:27
- - Iron Bug   Цитата(Norrius @ 23.8.2012, 23:27) refere...   24.8.2012, 8:38
- - Алексей1153   можно передавать исходное сообщение пакетами, скаж...   24.8.2012, 8:54
- - Norrius   Подключение одного только windows.h дает много оши...   24.8.2012, 9:48
- - Norrius   Ошибка побеждена добавлением LIBS += -lws2_32 в п...   24.8.2012, 11:48
- - Norrius   Не уверен, что помогло и вообще в этом дело. Но не...   24.8.2012, 12:31
- - PAFOS   из msdn - If no error occurs, setsockopt returns z...   24.8.2012, 12:36
- - Norrius   Цитата(PAFOS @ 24.8.2012, 12:36) ноль это...   24.8.2012, 13:15
- - PAFOS   Так может быть проблема где-нибудь в коде?   24.8.2012, 13:20
- - Norrius   В каком смысле? Какой тип проблемы может приводить...   24.8.2012, 13:22
- - PAFOS   ты применяешь setsockopt на сервере для QTcpSocket...   24.8.2012, 13:39
- - Norrius   int on = 1; setsockopt(tcpSocket->socketDe...   24.8.2012, 15:06
- - PAFOS   сложно так сказать... возьми wireshark и посмотри ...   24.8.2012, 15:18
- - Norrius   Хорошо. Будет возможность - проверю.   24.8.2012, 19:55
- - Norrius   Проблема решена, действительно я идиот) Как показ...   25.8.2012, 11:54
- - Iron Bug   вообще-то, это плохая техника программирования: та...   26.8.2012, 14:58
- - Norrius   Ожидающие чтения данные довольно быстро исчерпываю...   26.8.2012, 16:26
- - Алексей1153   Цитата(Norrius @ 24.8.2012, 12:48) Мне ну...   27.8.2012, 11:06


Тема закрытаНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.6.2025, 20:39