Поиск:

Ответ в темуСоздание новой темы Создание опроса
> клиент серверное приложение по протоколу udp 
V
    Опции темы
lavan
Дата 24.7.2012, 10:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.4.2011

Репутация: нет
Всего: нет



нужно организовать клиент-серверное приложение по протоколу udp.делаю так:
на каждом компе есть общеизвестный udp сокет,который прослушивается отдельным потоком.когда кто-то хочет связаться с этим компом,он посылает пакет на этот сокет,получив пакет,поток прослушивающий этот сокет передает его другому потоку(обработчику),"обработчик" создает для этого соединения отдельный сокет и передает данные о новом сокете запрашивающей стороне,дальнейшее взаимодействие между этими компами происходит по этому сокету. т.е для каждого нового соединения будет создаваться новый,отдельный сокет. 
Правильный ли это подход? 
PM MAIL   Вверх
Maksys
Дата 24.7.2012, 12:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Future Splasher
***


Профиль
Группа: Завсегдатай
Сообщений: 1289
Регистрация: 15.6.2005
Где: Екатеринбург

Репутация: нет
Всего: 17



А если так:
1. клиент посылает запрос на сервер по TCP с открытым для сервера udp портом;
2. в ответ сервер открывает UDP порт и отправляет в ответе на TCP запрос;
3. сервер поделючается к порту указанному в запросе, от клиента, по udp;
4. клиент берет порт в ответе и цепляетс к серверу по udp.

Таким образом у нас полностью рандомная открывалка портов. со сто процентным tcp портом для связи с сервером.
хотя хз. )


--------------------
 С уважением, BiMaWa™©.
user posted image
user posted image
PM MAIL ICQ Skype GTalk   Вверх
lavan
Дата 24.7.2012, 16:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.4.2011

Репутация: нет
Всего: нет



не,tcp к сожелению использовать нельзя. ну а на счет 
Цитата

со сто процентным tcp портом для связи с сервером.

если я правильно понял,то если первый пакет потеряется,то,я не думаю,что посылка нового пакета будет сильно ресурсоемкой.
PM MAIL   Вверх
Akina
Дата 24.7.2012, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Цитата(lavan @  24.7.2012,  11:46 Найти цитируемый пост)
Правильный ли это подход?  

Не очень. Либо будут проблемы общения с клиентом за NAT, либо возможны пересечения запросов на коннект и потери запросов.

Обработчик должен отдавать сведения о новосозданном сокете общему сокету, который и будет возвращать клиенту ответ по уже установленному каналу передачи.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
lavan
Дата 24.7.2012, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.4.2011

Репутация: нет
Всего: нет



Цитата

Обработчик должен отдавать сведения о новосозданном сокете общему сокету, который и будет возвращать клиенту ответ по уже установленному каналу передачи.

здесь имеется в виду,что если пришел запрос на соединение,то после открытия нового сокета,передать данные о нем по старому сокету,и тогда сторона инициирующая соединение,дальнейшую связь будет вести по новому сокету?
PM MAIL   Вверх
Akina
Дата 24.7.2012, 20:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 20
Всего: 454



Почти так.
Поступил от клиента запрос на соединение. Открывается новый сокет (на своём порте). Основной сокет отправляет клиенту сведения о новом сокете. Клиент закрывает соединение с основным сокетом, после чего открывает соединение с сокетом, загруженным специально для него. Всё как, например, в пассивном ФТП, только по УДП.
Рекомендую также вместе со сведениями о созданном под клиента совете передавать некую случайную информацию, возврат которой (лучше сложномодифицированной) будет ожидать новосозданный сокет от клиента. Ну так, для доп. проверки подлинности...


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
lavan
Дата 24.7.2012, 21:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.4.2011

Репутация: нет
Всего: нет



Спасибо за помощь!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.0566 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.