forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Проблемы с DirectPlay (http://forum.boolean.name/showthread.php?t=19122)

ghosttt 27.04.2014 14:36

Проблемы с DirectPlay
 
Всем привет) Возникла проблема с DirectPlay. Когда тестирую локальный сервер на одном компе, все прекрасно работает. А когда я скинул клиент другу, ему при подключении к серверу выдавало "Unable join to game". Потом он запустил сервер на своем компе, я тоже не смог подключиться к нему. И то, в консольке подключения, там где список доступных игр, созданная игра высвечивалась только если подключиться к серверу через хамачи. Сейчас переписываю клиент и сервер без DirectPlay, но все-таки хотелось как-то исправить эту ошибку, т.к. переписывать придется долго и сложно. Или подскажите какие-нибудь библиотеки для онлайн игры.:rolleyes:

Samodelkin 27.04.2014 17:05

Ответ: Проблемы с DirectPlay
 
Очевидно что проблемы в настройках роутера/брендмауэра.

ghosttt 27.04.2014 17:44

Ответ: Проблемы с DirectPlay
 
Еще уточню, что если друг или я создали серв на своем компе, то он или я можем подключиться к своему серву, а другие люди нет

tirarex 27.04.2014 19:05

Ответ: Проблемы с DirectPlay
 
Публичный IP ?

ghosttt 27.04.2014 19:32

Ответ: Проблемы с DirectPlay
 
нет, ip с хамачи. Публичный ип не робит

LLI.T.A.L.K.E.R. 27.04.2014 19:53

Ответ: Проблемы с DirectPlay
 
Вот пример для меня лучший (пока) пример "онлайн мультиплеера": http://forum.boolean.name/showpost.p...86&postcount=3

Либо RakNet: http://repeatuntil.free.fr/raknet/
(но он мне показался тормознутым... либо однопотоковый blitz3d тормозил)

А так без взгляда на код можно только гадать.

Samodelkin 27.04.2014 20:39

Ответ: Проблемы с DirectPlay
 
Да не в коде дело, нужно пробросить через роутер нужный порт или брендмауэру разрешить слушать порт на который должен приходить запрос от клиента на подключение.
hamachi создает vpn в обход настройкам роутера и брендмауэра, поэтому там свободно подключается.

ghosttt 27.04.2014 22:08

Ответ: Проблемы с DirectPlay
 
Samodelkin, когда через хамачи кто-то подключается к серву, то пишит, что невозможно подключиться. А так я могу к своему серверу спокойно подключиться.
LLI.T.A.L.K.E.R., спасибо конечно, но я тот пример уже видел. В нем довольно сложно разобраться, кода куча. А RakNet wrapper для б3д я уже скачал, да только особо ничего не понял) Может есть какие-то уроки по raknet? Пример который шел вместе с враппером уже смотрел.

Samodelkin 27.04.2014 22:29

Ответ: Проблемы с DirectPlay
 
У тебя может быть сразу две проблемы:
Настройка роутера и брендмауэра не позволяют видеть сервер клиенту, но с помощью hamachi, который создает vpn это проблема решается.
Однако затем, в момент подключения возникает какая то еще проблема уже с твоим кодом, может быть время ожидания мелкое, или что то с портами неправильно указано.
имхо, нужно сначала смотреть как другие похожие приложения себя ведут, если они с теми же параметрами работают, значит уже нужно смотреть что у тебя с кодом.

ghosttt 28.04.2014 17:41

Ответ: Проблемы с DirectPlay
 
Samodelkin, чтобы клиент соединился с сервером никакого кода не написано, клиент соединяется с сервером через консольку directplay (netgame=startnetgame())

Nex 28.04.2014 18:25

Ответ: Проблемы с DirectPlay
 
Возможно просто какой нибудь баг с directplay.
Используй TCP, попаришься не много с написанием аналогичных функций как в directplay за то все будет работать как ты хочешь.
Если и с TCP не будет работать, то значит копайся в брендмауэре и роутере.

ghosttt 28.04.2014 18:38

Ответ: Проблемы с DirectPlay
 
Nex, да сейчас уже переписываю все под TCP:(

ghosttt 29.04.2014 17:25

Ответ: Проблемы с DirectPlay
 
Цитата:

Возможно просто какой нибудь баг с directplay.
А если и вправду баг? Как его решить? Может просто переустановить Blitz3D? Или скомпилировать сервер и клиент на более старой версии блица

Nex 29.04.2014 20:48

Ответ: Проблемы с DirectPlay
 
directplay был сделан в бородатые времена когда были модемы. Выводы делай сам. :)

LLI.T.A.L.K.E.R. 29.04.2014 23:26

Ответ: Проблемы с DirectPlay
 
directplay встроен в windows
это не внутренний способ соединения Blitz3D, так что не зависит от Blitz3D (я всегда использую Blitz3D-Update-1.9.9 - никаких глюков-проблем)

просто разберись, почувствуй где ошибка - в соединении, в защите windows, в коде программы.
если всё логично и везде правильно настроено - то не используй directplay соединение, может в нём глюки.


Часовой пояс GMT +4, время: 17:58.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot