|
2D-программирование Вопросы, касающиеся двумерного программирования |
09.10.2009, 10:47
|
#1
|
ПроЭктировщик
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений (для 24 пользователей)
|
Маршрутизация пакетов (UDP)
У меня наболел вопрос . Так как же мне передать пакет от одного компа в подсети провайдера другому компу в подсете другого провайдера?
Я хотел бы узнать существует ли формат заполнения пакета для маршрутизации. Протокол UDP. Помогите пожалуйста!
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
|
(Offline)
|
|
09.10.2009, 15:52
|
#2
|
Бывалый
Регистрация: 04.01.2008
Адрес: Казахстан \ Талдыкорган
Сообщений: 659
Написано 170 полезных сообщений (для 509 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
если нету белого Ip то увы.
__________________
Жизнь как говориться игра- делать игры моя профессия(с)
Программирование, это религия! Её нужно исповедовать.
|
(Offline)
|
|
09.10.2009, 16:03
|
#3
|
ПроЭктировщик
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений (для 24 пользователей)
|
Ето что значит получаетса, на Блице или на Ксорсе невозможно создать онлайн игру?
Я понимаю что передать пакет с выделенного ІР на выделенный ІР совсем не сложно. Но эсли делать Онлайн игру то естественно большинство игроков не имеют выделенного ІР. Что делать? Есть ли в кого какие небудь идеи?
Есть такая штука как VPN но как её запустить на Блице я незнаю
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
Последний раз редактировалось jimon, 09.10.2009 в 18:27.
|
(Offline)
|
|
09.10.2009, 16:39
|
#4
|
Злобный Админ
Регистрация: 04.09.2005
Сообщений: 5,926
Написано 3,415 полезных сообщений (для 9,330 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
Эх..ни на каком языке нельзя создать онлайн игру без помощи из вне, такой как сервер игры например. Ибо более 90% пользователей сидят за NAT который по своей природе не пропускает входящие соединения. Да и как ему понять кому пакет если у всех ip один .
Делается на сервере простейшая програмка которая ловит входящий запрос на создание игры и ведёт база созданных игр, те кто подключаются к игре просто скачивают с сервера список созданых игр. Потом сервер занимается переадресацией игрового трафика между игроками. Которые сами инициировали подключение к серверу что не противоречит правилам NAT.
__________________
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
09.10.2009, 17:02
|
#5
|
ПроЭктировщик
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
Сообщение от SBJoker
Потом сервер занимается переадресацией игрового трафика между игроками. Которые сами инициировали подключение к серверу что не противоречит правилам NAT.
|
Большое спасибо за первое полезное сообщение Но хотелось бы мне взнать побольше...
Структура соединения меду сервером и клиентами должна выглядить так:
1.Сервер (с выделенным ІР) получает пакет от клиента.
2.Естественно сервер отсылает клиенту ответ на ІР с которого пришло сообщение.
3.Клиент не получает ответ потому что етот пакет был отправлен сервером на удаленной ІР адрес провайдера, а к клиенту в подсети он не дошол.
4.Клиент ругаетса что не удаетса соединитса с Сервером.
Вот такая драма
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
|
(Offline)
|
|
09.10.2009, 18:29
|
#6
|
|
Ответ: Маршрутизация пакетов (UDP)
ІГРОГРАЙКО
у сервера есть внешний IP, клиент сидит на NAT'ом
в таком случае сервер не может послать подключение к клиенту, но клиент может инициализировать подключение к серверу
идея простая, клиент конектится к серверу и работает в обычном режиме
|
|
|
Сообщение было полезно следующим пользователям:
|
|
09.10.2009, 23:37
|
#7
|
ПроЭктировщик
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
Сообщение от jimon
ІГРОГРАЙКО
у сервера есть внешний IP, клиент сидит на NAT'ом
в таком случае сервер не может послать подключение к клиенту, но клиент может инициализировать подключение к серверу
идея простая, клиент конектится к серверу и работает в обычном режиме
|
Извените если не так понял. Ты говориш подключитса, тоесть использовать протокол TCP.
А зделать UDP можно?
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
|
(Offline)
|
|
10.10.2009, 00:06
|
#8
|
|
Ответ: Маршрутизация пакетов (UDP)
ІГРОГРАЙКО
хым, что-то не учёл скудные сетевые возможности самого blitz3d ^_^
попробуй использовать raknet http://repeatuntil.free.fr/raknet/
|
|
|
Эти 3 пользователя(ей) сказали Спасибо за это полезное сообщение:
|
|
10.10.2009, 00:14
|
#9
|
ПроЭктировщик
Регистрация: 20.06.2009
Адрес: Україна
Сообщений: 152
Написано 10 полезных сообщений (для 24 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
Оооооо Спасибочки тебе большое!!!
Будем учитса новому
__________________
Blitz3D, XNA, WebGL, OpenGL, Unity3D
PC: ASUS A55VM Core i3 (2.4Ghz), 6 Gb RAM, Nvidia GF 630M GT 2Gb
|
(Offline)
|
|
10.10.2009, 03:38
|
#10
|
Зануда с интернетом
Регистрация: 04.09.2005
Сообщений: 14,014
Написано 6,798 полезных сообщений (для 20,935 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
видим мы на странице.. ДядяДима! даже не похвасталсо, а ведь мы должны знать своих героев =\
__________________
http://nabatchikov.com
Мир нужно делать лучше и чище. Иначе, зачем мы живем? tormoz
А я растила сына на преданьях
о принцах, троллях, потайных свиданьях,
погонях, похищениях невест.
Да кто же знал, что сказка душу съест?
|
(Offline)
|
|
Эти 3 пользователя(ей) сказали Спасибо impersonalis за это полезное сообщение:
|
|
12.11.2009, 23:08
|
#11
|
Нуждающийся
Регистрация: 23.10.2009
Сообщений: 74
Написано 9 полезных сообщений (для 22 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
Тупо раздели их по портам , каждому юзверу выделяй свой порт из выделенного диапазона. Настройте нат .
Если нет то в пакет суй инфу кому она принадлежит и клиент уже пусть смотрит ему или нет пакет. А инициализируй или на стороне сервера или на стороне клиента соединение все одни яйца. Пакет от сервера к клиенту все равно должен дойти до адресата и быть идентифицирован. Даже широкие возможности ракнет не помогут ..
Последний раз редактировалось Tormaz, 13.11.2009 в 02:53.
|
(Offline)
|
|
16.05.2010, 10:30
|
#12
|
Мастер
Регистрация: 24.06.2009
Адрес: Набережные Челны
Сообщений: 930
Написано 292 полезных сообщений (для 504 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
А как точно узнать истинно внешний IP (особенно когда он динамический) и + при использовании роутера.
Искал примеры, но в итогах выходили локальный IP или роутера: 127.0.0.** и 192.168.*.*
А вот узнавать программно как например на http://2ip.ru не удавалось пока.
|
(Offline)
|
|
16.05.2010, 13:04
|
#13
|
Быдлокодер
Регистрация: 05.07.2009
Адрес: Проспит
Сообщений: 5,024
Написано 2,312 полезных сообщений (для 5,349 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
Сообщение от LLI.T.A.L.K.E.R.
А как точно узнать истинно внешний IP (особенно когда он динамический) и + при использовании роутера.
Искал примеры, но в итогах выходили локальный IP или роутера: 127.0.0.** и 192.168.*.*
А вот узнавать программно как например на http://2ip.ru не удавалось пока.
|
Вот тебе статья - Статья. Есть какой-то более краткий пример но я его не могу найти, найду дам ссылку...
|
(Online)
|
|
16.05.2010, 21:29
|
#14
|
Знающий
Регистрация: 12.07.2007
Сообщений: 297
Написано 50 полезных сообщений (для 133 пользователей)
|
Ответ: Маршрутизация пакетов (UDP)
Можно посмотреть:
http://www.gamedev.ru/code/forum/?id=128784&page=17
там есть рабочий пример на блице соединения nat-nat (используется STUN). Примерно также работают скайп, хамачи и т.д.
Если коротко: клиент1 и клиент2 за натом, им нужно узнать свои внешние ip и порты (для чего есть публичные сервисы STUN) и передать их друг-другу доступным способом (аська, web или др.). Далее клиенты посылают первые "стартовые" пакеты друг-другу, которые не пройдут, но "познакомят" свои наты с нужными ip:port. После чего уже можно слать все что угодно.
Такой канал будет жить до ближайшей паузы 20-30 сек, после такой паузы нат может забрать порт (время таймаута устанавливает провайдер).
Связь удивительно стабильная выходит, ни одного пакета не пропало в тестах, даже на gprs.
|
(Offline)
|
|
Эти 4 пользователя(ей) сказали Спасибо Damp за это полезное сообщение:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 15:53.
|