Я сделал сетевую игру на Java с использованием сокетов. Это прекрасно работает, кроме ... только через мою локальную сеть. : / То, что я хочу сделать, это настроить его так, чтобы я мог запустить сервер, работающий на моем домашнем компьютере, и отправить клиентский код в исполняемом фляге кому-то другому, чтобы они могли его запустить и подключиться через интернет. Но, как ... Я не знаю, как настроить мой модем и маршрутизатор для этого. :( У меня есть беспроводной модем Clear, для которого страница конфигурации выглядит следующим образом:
http://imageshack.us/photo/my-images/254/modem.jpg
И маршрутизатор Netgear, чья страница выглядит так:
http://imageshack.us/photo/my-images/443/routerq.jpg
Прямо сейчас в классах клиента и сервера я передаю частный IP-адрес моего компьютера вместе с выбранным номером порта объектам ServerSocket и Socket. Я слышал, что сокеты могут быть UDP или TCP, в зависимости от того, как вы их настроили, или что-то ...? Я ничего такого не делаю, просто создаю их экземпляры и передаю им 2 значения, и они уходят ...
В коде для сервера:
ServerSocket sock = new ServerSocket();
sock.bind(new InetSocketAddress(IP, 9001));
Код для клиента:
Socket sock = new Socket(IP, 9001);
Так же, мне нужно знать, как изменить код в соответствии с изменениями настроек маршрутизатора / модема.
«IP» - это строка, представляющая частный IP моего компьютера, 192.168.1.10, и программа работает только в том случае, если это строка, которую я передаю Socket & ServerSocket. Как я уже сказал, у меня есть модем, который подключен к маршрутизатору, который подключен к моему компьютеру. Итак, кто-то может объяснить мне (подробно, потому что я нуб), что именно мне нужно сделать, чтобы настроить их обоих, И изменения, которые я должен был бы внести в мой код?