![]() |
Ответ: Сеть в играх.
Цитата:
|
Ответ: Сеть в играх.
Доброго времени суток, Булчане! Что бы не плодить темы спрошу тут.
Написал программу сервер и программу клиент. Основаны на UDP протоколе. И вот собственно сам вопрос - что нибудь реально сделать если у меня закрыты для доступа из вне нужные мне порты (как оказалось после проверки - закрыты они у меня все, но нужны конкретно - 57015 и далее)? Потому что от меня пакеты исходят прекрасно и доходят до сервера, а вот от сервера ко мне на клиент ничего пробиться не может. Теоретически понимаю что наверно я сижу за NAT'ом (даже не наверно, а 100500% уверенности в этом), но как его обойти... Обрыл весь форум в поисках информации по протоколу UDP и вообще созданию сетевых приложений (огромное спасибо Tadeus'у за хорошие туториалы по TCP/IP и UDP, и всем кто в далёком 2009-м отписывал конкретно в этой теме), долго курил статью о работе стевой части Valve Source Engine, вынес для себя много полезного. Даже помучал IdTech 2 (что тоже оказалось очень полезно, так как текущую структуру сервера своего постарался взять от туда). Но конкретно по этой проблеме так ничего и не увидел. Используемый провайдер - мегафон (не смейтесь только, другим интернетом не располагаю в данный момент). В Counter-Strike и World of Tanks через него играю свободно (ну, относительно, пинг высоковат... но дело не в этом), а они работают на UDP протоколе. Т.е. проблема решаема, просто я не знаю где и с чего начать поиск. Мне нужна только теория, ненужно исходных кодов (хочу разобраться, хотя если есть исходники - тоже не откажусь). Буду очень признателен если поможете, форумчане. зыЖ сервер и клиенты общаются по локальной сети вполне себе успешно, хотя сервер нужно переделывать... При количестве клиентов 2+ данные клиентам отправляются ну очень уж долго. Знаю из за чего, но сейчас не это основная проблема. Хотя бы двух людей соединить через тырнет для начала - и можно будет работать дальше... |
Ответ: Сеть в играх.
Дело в том, что у тебя локальная сеть, поэтому, когда клиент обращается к серверу по ip, непонятно, какому компьютеру из локальной сети передавать запрос. Для этого в роутерах есть возможность перенаправлять порты порты (forwarding). Гуглишь гайд для своего роутера (или разбираешься сам) и настраиваешь перенаправлание на нужный тебе внутренний ip.
К примеру, в моей UDP-поделке сервер использует порт 25565, в роутере настроено перенаправление на внутренний IP 192.168.1.100 |
Ответ: Сеть в играх.
Объясните как с помощью линейного метода устранить эффект запаздывания.
Цитата:
|
Ответ: Сеть в играх.
Цитата:
|
Ответ: Сеть в играх.
Вложений: 1
|
Ответ: Сеть в играх.
Crayzi, большое спасибо за указание на этот враппер! Ответ от сервера пробился даже через два роутера со стороны клиента! Жалко нельзя ставить сотню спасибок, поставил бы сразу! :)
|
Часовой пояс GMT +4, время: 22:10. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot