30.04.2011, 21:53
|
#36
|
ПроЭктировщик
Регистрация: 26.06.2007
Сообщений: 194
Написано 21 полезных сообщений (для 25 пользователей)
|
Ответ: Сеть в играх.
Сообщение от St_AnGer
Доброго времени суток, Булчане! Что бы не плодить темы спрошу тут.
Написал программу сервер и программу клиент. Основаны на UDP протоколе.
И вот собственно сам вопрос - что нибудь реально сделать если у меня закрыты для доступа из вне нужные мне порты (как оказалось после проверки - закрыты они у меня все, но нужны конкретно - 57015 и далее)? Потому что от меня пакеты исходят прекрасно и доходят до сервера, а вот от сервера ко мне на клиент ничего пробиться не может. Теоретически понимаю что наверно я сижу за NAT'ом (даже не наверно, а 100500% уверенности в этом), но как его обойти...
Обрыл весь форум в поисках информации по протоколу UDP и вообще созданию сетевых приложений (огромное спасибо Tadeus'у за хорошие туториалы по TCP/IP и UDP, и всем кто в далёком 2009-м отписывал конкретно в этой теме), долго курил статью о работе стевой части Valve Source Engine, вынес для себя много полезного. Даже помучал IdTech 2 (что тоже оказалось очень полезно, так как текущую структуру сервера своего постарался взять от туда). Но конкретно по этой проблеме так ничего и не увидел.
Используемый провайдер - мегафон (не смейтесь только, другим интернетом не располагаю в данный момент). В Counter-Strike и World of Tanks через него играю свободно (ну, относительно, пинг высоковат... но дело не в этом), а они работают на UDP протоколе. Т.е. проблема решаема, просто я не знаю где и с чего начать поиск.
Мне нужна только теория, ненужно исходных кодов (хочу разобраться, хотя если есть исходники - тоже не откажусь). Буду очень признателен если поможете, форумчане.
зыЖ сервер и клиенты общаются по локальной сети вполне себе успешно, хотя сервер нужно переделывать... При количестве клиентов 2+ данные клиентам отправляются ну очень уж долго. Знаю из за чего, но сейчас не это основная проблема. Хотя бы двух людей соединить через тырнет для начала - и можно будет работать дальше...
|
Если ничего не получится то попробуй RakNet, оно вроде с NAT-ом дружит...
|
(Offline)
|
|