|
JavaScript / HTML Создание динамической разметки страниц |
02.04.2014, 13:54
|
#1
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Node js UDP
Читаю справку по UDP и что-то не нахожу возможности различать клиентов с одной подсети за NAT... оно вообще возможно?
|
(Offline)
|
|
02.04.2014, 14:27
|
#2
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Node js UDP
пускай клиент шлет в каждом пакете свой айдишник
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
02.04.2014, 14:56
|
#3
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Node js UDP
Т.е. генерить уникальный id для клиента при подключении? а потом фильтровать принятые приложением пакеты по этому id?
|
(Offline)
|
|
02.04.2014, 18:19
|
#4
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Node js UDP
А разве это вообще взможно? Ведь NAT цепляет хэдер на UDP пакеты, не в зависимости от куда он приходит не?
|
(Offline)
|
|
02.04.2014, 19:01
|
#5
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Node js UDP
В целом тут непонятно о каком уровне сетевого взаимодействия мы тут говорим.
Если соединение установлено то оно будет с вполне конкретным клиентом. С другим клиентом будет своё соединение. Все пакеты что придут по соединению будут от одного клиента.
Вся проблема с NAT это невозможность хостить за ним сервер.
С точки зрения клиентов никакой разницы нет с тем что они за NAT.
Хостить сервер за NAT тоже возможно, но нужна вынесенная во вне часть для поиска клиентов, как баттлнет например.
__________________
|
(Offline)
|
|
02.04.2014, 19:20
|
#6
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Node js UDP
UDP не устанавливает соединений.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо moka за это полезное сообщение:
|
|
02.04.2014, 19:52
|
#7
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Node js UDP
Действительно, ну тогда в каждом пакете нужен идентификатор отправителя.
__________________
|
(Offline)
|
|
03.04.2014, 11:55
|
#8
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Node js UDP
В общем пока не понятно с UDP, пытаюсь искать инфу в интернете. Правда теперь пробую на C#, а не на Node JS.
Единственное что я понял, при приеме датаграммы на сервере я получаю внешний ip и внешний порт (временный наверное). Если отправлять ответ на него, то ответ приходит, если клиент сделал bind на тот же порт, что и сервер...
С C# из Unity пока не удалось отправить ничего... пробую...
UPD: вроде получилось соединение, буду дальше ковырять
|
(Offline)
|
|
03.04.2014, 13:04
|
#9
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Node js UDP
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
03.04.2014, 13:31
|
#10
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Node js UDP
Сообщение от impersonalis
|
Нет, спасибо
UPD: По UDP что-то там почти ничего нету (по крайней мере в оглавлении).
|
(Offline)
|
|
03.04.2014, 15:27
|
#11
|
.
Регистрация: 05.08.2006
Сообщений: 10,429
Написано 3,454 полезных сообщений (для 6,863 пользователей)
|
Ответ: Node js UDP
Сообщение от pax
UPD: вроде получилось соединение, буду дальше ковырять
|
Соединения нету. PAX не путай концепции двух очень различных протоколов, это тебя сбивает.
TCP - это stream based bi-directional connection based communication, где есть постоянное соединение.
А UDP - это датаграмма сообщения, всё что происходит это твой комп просто "выкрикивает" сообщения в сетевой провод, что дальше с сообщением происходит - дело интернета и инфраструктур подсетей. Там нету никаких соединений между двумя точками, это просто сообщения летают и направляются маршрутизаторами. Каждая точка и маршрутизатор имеет возможность и меняет header пакета. Также как твой внешний IP в пакете привязан к твоему покету за пределами твоей домашней сети, маршрутизатором от твоего интернет провайдера с которым твой роутер говорит.
Там нету соединения никакого.
|
(Offline)
|
|
03.04.2014, 18:51
|
#12
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Node js UDP
Твоё UDP сообщение может даже не дойти до получателя, и ты об этом не узнаешь.
|
(Offline)
|
|
03.04.2014, 22:30
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Node js UDP
Я имел ввиду, что получилось передать пакеты, не придирайтесь к словам. К тому же в C# чтобы начать обмениваться данными с сервером надо седлать socket.Connect вместо socket.Bind. К тому же существует понятие "виртуального соединения". Нашел интересные статьи на тему UDP, жаль всего 3 из них переведены на хабре http://gafferongames.com/networking-...e-programmers/
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:23.
|