Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

решение проблемы подсей [D5, D6, D7, WinXP]


vic_774N ©   (2006-03-30 16:26:00) 

Здравствуйте !
Может кто знаком с сетевой игрой HomePlanet Gold ? Хороший космосимулятор, но ... Проблема в том, что работает он только если компьютеры игроков находятся в одной подсети. Обмен по портам UDP 0 - рассылка 255.255.255.255 и UDP 2544 - 10.1.31.* (это для примера). При создании на одной машине сервера (одна подсеть 10.1.28.*), другая машина не видит этого сервера. Программы типа LanGame 1.1 к сожалению не помогают.  Другие игры похожего типа работают без проблем.
Посоветуйте пожалуйста, как обойти эту проблему. Набор компонент Indy есть. Мне бы понять - перехватить пакеты от игры и принудительно направить на нужный адрес, а там его перенаправить на нужный порт или делать как-то по другому.


vic_774N   (2006-04-19 18:57:00) [1]

Тут ещё задача переренаправлять данные именно от HomePlanet Gold, а не от других программ


vic_774N   (2006-04-19 18:29:00) [2]

Шлюз в другую подсеть в настройках TCP/IP-протокола как настроен ?

route add -p 10.1.28.66 mask 255.255.255.255 10.1.31.114 metric 20
но это не помогает, поскольку сеть у нас не позволяет рассылать широковещательные посылки и другие разные приколы (ограничение по портам). Я подумал о форвардинге пекетов или о создании промежуточного сервера. Запускается сервер у того, кто создает сервер в игре. Пакеты от игры перехватываются и перенаправляются через дополнительный сервер другим игрокам. Только как правильно перехватить пакет ?


Сергей М.   (2006-04-04 11:33:00) [3]

Шлюз в другую подсеть в настройках TCP/IP-протокола как настроен ?


vic_774N   (2006-04-04 10:45:00) [4]

Уточнение - с моей стороны адрес 10.1.31.114 порт динамический (1100 - 5000) изменяется при каждом запуске программы. Удаленный порт 2544 адрес широковещательный (255.255.255.255), порт 0 адрес 10.1.28.66.

Собственно нужно заставить программу воспринимать удаленную машину, как машину в моей подсети


vic_774N   (2006-03-30 17:14:00) [5]

Вот ссылка на мою переписку по этой проблеме http://www.revoltgames.com/forum/index.php?showtopic=194&st=0&#entry1947


vic_774N   (2006-03-30 17:12:00) [6]

адрес моей машины известен - 10.1.31.114, адрес другой машины тоже известен 10.1.28.66, порты используются одинаковые 0 и 2544


Сергей М.   (2006-03-30 17:09:00) [7]

А откуда тебе известен тот самый "нужный адрес" ?


vic_774N   (2006-03-30 17:04:00) [8]


> Значит эти "Другие игры" не используют в кач-ве трансп.уровня
> UDP, тем паче - в режиме бродкаста.

Так лучше отловить пакеты "на месте" и затем переадресовать на нужный адрес ?


Сергей М.   (2006-03-30 16:41:00) [9]


> Другие игры похожего типа работают без проблем


Значит эти "Другие игры" не используют в кач-ве трансп.уровня UDP, тем паче - в режиме бродкаста.


Наверх

Титульная страница Поиск, карта сайта Написать письмо