Я создал игру «Броненосец» на Java для работы с Sockets
и ServerSockets
. Игра отлично работает в локальной сети, но я хотел бы иметь возможность играть против кого-то в совершенно другой сети. Я понимаю, что перенаправление портов было бы необходимо, но должен ли я перенаправить порт на каждого клиента, который играет в игру? Или нужно будет только перенаправить порт на маршрутизатор, который использует сервер? Благодарю.Java, игры и переадресация портов
ответ
Пересылка портов требуется только на сервере. Любые пакеты, привязанные к клиенту, будут автоматически перенаправлены из первоначального запроса благодаря действию на многих NAT.
Таким образом, вам нужно только перенаправить порт на сервер. Если вы используете Socket
и ServerSocket
, вам необходимо переслать TCP, если ваш маршрутизатор дает вам выбор. Если используется DatagramSockets
, перейдите UDP на любую из конечных точек.
(если вы должны были направить на клиентах, вы, скорее всего, не читали эту страницу без переадресации порта 80)
подробно остановиться на то, что @hexafraction говорят, вот что вы можете сделать:
Создайте сервер, к которому может подключиться любой клиент. Клиенты обычно могут подключаться ко всему, что хотят. Брандмауэры обычно устанавливают ограничения на информацию, которая может протекать, но не вытекать. Поэтому, если клиенты знают, к чему подключается сервер, они могут подключиться к нему без изменения своего брандмауэра, а затем сервер будет координировать передачу данных между клиентами.
Я бы также добавил информацию о NAT, особенно с участием UDP. – hexafraction
@hexafraction у вас уже есть, я просто разрабатываю –
Я сделал это, и все, что мне нужно было сделать, это переслать порт, который я использовал в своем маршрутизаторе, на свой местный номер I.P. адрес. Если вы не знаете, что ваш локальный IP-адрес запускает командную строку (при условии, что вы используете окна) и запускаете ipconfig, чтобы понять это. Если ваш дом с помощью беспроводного маршрутизатора получает доступ к нему браузером до 192.168.1.1 Надеюсь, что это поможет!
- 1. Переадресация портов
- 2. Переадресация портов порта и HttpContext.Current.Request.Url
- 3. Вложенная переадресация портов
- 4. Переадресация портов (соединение P2P)
- 5. Переадресация портов в Azure
- 6. Переадресация портов NAT UPNP
- 7. Переадресация портов на VirtualBox
- 8. Сервер Ubuntu - переадресация портов
- 9. Временная переадресация портов
- 10. C# - Сокеты: переадресация портов
- 11. Openshift Переадресация портов
- 12. Нужно ли переадресация портов?
- 13. Удаленная переадресация портов или переадресация агента
- 14. Клиентские порты WinSock и переадресация портов маршрутизатора
- 15. pfsense 2.1.2 переадресация портов брандмауэром
- 16. docker внутри-контейнерный переадресация портов
- 17. Переадресация портов маршрутизатора с использованием цепляния
- 18. Переадресация портов для приложения Java для запуска в качестве сервера
- 19. Java-библиотека для привязки SSH SOCKS (динамическая переадресация портов)?
- 20. Туннелирование/переадресация портов на два IP-адреса
- 21. Как проверить, работает ли переадресация портов?
- 22. Работает ли переадресация портов внутри сети?
- 23. Условная переадресация портов по имени хоста
- 24. Условная переадресация портов в файле vagrant
- 25. Сканер портов Java не имеет открытых портов
- 26. Докеры сетей и портов
- 27. Перенаправление портов изнутри Java
- 28. Java-сервлет - переадресация/переадресация с подстраницы
- 29. За прокси-приложение/«переадресация портов» (iOS или Android)
- 30. Как выставить мой localhost на WWW? (переадресация портов?)
Отлично, спасибо за ответ! – rstumbaugh