Подключение клиента с нелокальным серверным сокетом

Я делаю сервер и клиент с сокетами, могу подключить их, когда пишу 127.0.0.1 или "localhost". Однако, если я напишу свой общедоступный IP-адрес, клиент не сможет подключиться к серверу. Как я мог это сделать?

Серверная программа:

    public static void main(String[]args) throws IOException {
        int puerto = 6000;
        ServerSocket servidor = new ServerSocket(puerto);
        System.out.println("Escuchando en: " + servidor.getLocalPort());
        Socket cli1 = servidor.accept();
        System.out.println("Un cliente se ha conectado.");      
        servidor.close();
    }      

Клиентский:

public static void main(String[]args) throws UnknownHostException, IOException {
        String Host = "aaa.bbb.ccc.ddd";
        int puerto = 6000;
        Socket cliente = new Socket("Host", puerto);
        InetAddress i = cliente.getInetAddress();

        System.out.println("Puerto Local: " + cliente.getLocalPort());
        System.out.println("Puerto Remoto: " + cliente.getPort());
        System.out.println("Host Remoto: " + i.getHostName().toString());
        System.out.println("IP Host Remoto" + i.getHostAddress().toString());

        cliente.close();
    }

Как я могу соединить клиент и сервер с моим общедоступным IP-адресом?

Это не столько вопрос программирования, сколько вопрос настройки сети. У вас, вероятно, есть маршрутизатор, который позволяет вам использовать ваше общедоступное Интернет-соединение между несколькими устройствами. Если это так, вам нужно дать ему правило, которое гласит, что любое соединение с портом X должно идти к машине Y. Однако StackOverflow не может указать вам, как это сделать.

RealSkeptic 12.08.2018 09:19

На нем должно быть написано new Socket(Host, ... (без кавычек).

ultimate 12.08.2018 09:20

Хорошо, спасибо большое, я попробую это сделать, я действительно не очень разбираюсь в сети, хотя

Jose Lizarraga 12.08.2018 09:22

Это не имеет отношения к сетям. Если ваш код использует "Host", вы подключаетесь к "Хосту" вместо ссылки на переменную Host.

ultimate 12.08.2018 09:24

да, я знаю, что хост находится между "", там я написал IP-адрес, который пытался использовать, но я изменил его, прежде чем вставил его сюда в Host, чтобы вы могли знать, что именно туда я отправляю IP

Jose Lizarraga 12.08.2018 09:33

Вопросы по настройке сети следует направлять на Ошибка сервера.

Remy Lebeau 12.08.2018 20:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
6
24
0

Другие вопросы по теме