Уперся в странную проблему.
Написал сервер/клиент приложение с использованием DirectPlay.
Сооздаю сервер на компе с белым внешним IP.
Другой комп, на котором есть белый внешний IP коннектится комне без проблем,
а если он подключен через прокси/роутер то коннект не удается.
Солмал мозг. Кто может предоложить в чем проблема?
DirectPlay - deprecated. Переписывай клиент/сервер.
Если переписать на winsock2 получится ли по простому подключиться к белому IP в интернете на конкретный порт, если сам ты подключен через прокси?
не юзал DirectPlay, так что не знаю. Там TCP или UDP?
судя по твоим словам о коннекте - TCP. Но все же ...
pentagra
В DP8 и выше используется только UDP, как написано в MSDN
DirectPlay уже почти 10 лет как deprecated. Он оказался слишком сложным для конечного пользователя, для рядового игрока. Автоматическое конфигурирование срабатывет лишь в тривиальных случаях, а в нетривиальных конфигурировать его некому, админов на домашних игровых машинках не водится. Вот и перешли на сокеты.
pentagra
> не юзал DirectPlay, так что не знаю. Там TCP или UDP?
Там не tcp и не udp, там виртуальная игровая сеть, которая становится реальной, если сконфигурировать правильно машину каждого игрока.
tcp или udp могут использоваться как один из многих видов канала связи. Изначально микрософт не хотела завязываться на беркли сокеты, они свою, микрософтовскую сеть продвигали. Однако, это уже история...
Megabyte-Ceercop
> В DP8 и выше используется только UDP, как написано в MSDN
насколько я знаю, не все NAT'ы такие умные и прилежные, чтобы по-умолчанию форвардить UDP как надо.
Некоторые могут и вообще не поддерживать, некоторых специально настраивать надо.
Если все так как пишет Zab, то пост#1 в самую точку. Избавляйся от этого безобразия :)
Megabyte-Ceercop
> сли переписать на winsock2 получится ли по простому подключиться к белому IP в
> интернете на конкретный порт, если сам ты подключен через прокси?
думаю да.
писал клиент/сервер, конект проходил даж когда и тот и другой были за NAT и роутером (правдо на сервере надо было открыть порт)
Smouking
а коннект был только TCTIP? или UDP тоже без проблем?
Megabyte-Ceercop
Может эта дурь пытается законнектиться к клиенту. Снифер в руки и вперёд.
Booster
> Снифер в руки и вперёд.
А каким сниффером лучше отследить активность сетевой игры?
Wireshark
Megabyte-Ceercop, плюнь ты на этот снифер. Бери сокеты и пиши. Там нет ничего сложного + куча примеров в сети есть. У тебя не ММО, тебе не важна скорость (не будет гигабайт трафика), тебе не важен трафик (т.к. не сотни/тысячи объектов) - напишется легко и просто, как минимум копипастом примеров, как максимум - потратив несколько дней и разобравшись получше.
Тема в архиве.