Какой IP-адрес моего сервера я должен использовать для подключения моего клиента к моему серверу? - PullRequest
0 голосов
/ 17 июня 2019

IP-адрес скрыт для безопасности.


Я попытался соединить две системы, которые находятся в разных сетях.Я использовал публичный IP-адрес, но он не работает.Какой IP-адрес мне следует использовать в коде клиента?

мой публичный IP-адрес: 103.**.***.127.Этот код работал, когда я подключил обе системы к одной сети Wi-Fi.

client.java:

import javax.swing.*;
import java.net.*;
import java.util.*;
import java.awt.event.*;
import java.io.*;
class client implements ActionListener{
  JFrame f;
  Socket s;
  JButton B;
  String msg,temp;
  InetAddress inet1;
  InetSocketAddress inet;
  client() throws IOException,UnknownHostException{
    f=new JFrame ("Client");
    B=new JButton("Connect");
    f.setVisible(true);
    f.setSize(400,400);
    f.setLayout(null);
    B.setBounds(150,150,100,40);
    B.addActionListener(this);
    f.add(B);
    f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
    s=new Socket();
    inet1=InetAddress.getByName("103.**.***.127");
    inet=new InetSocketAddress(inet1,4321);
  }
  public void actionPerformed(ActionEvent e){
      if(e.getSource()==B){
          try {
        s.connect(inet);
        System.out.println("connected");
          }
          catch(Exception ex) {
        ex.printStackTrace();
          }
      }
  }
  public static void main(String[] args)throws IOException{
    client c=new client();
  }
}

server.java:

import javax.swing.*;
import java.net.*;
import java.util.*;
import java.awt.event.*;
import java.io.*;

class server implements ActionListener{
  JFrame f;
  ServerSocket ss;
  Socket s;
  JButton B;
  String msg,temp;
  JLabel j;
  server() throws IOException{
      ss=new ServerSocket(4321,1);
      s=ss.accept();
      f=new JFrame ("SERVER");
      B=new JButton("Click");
      j=new JLabel();
      f.setVisible(true);
      f.setSize(400,400);
      f.setLayout(null);
      B.setBounds(150,150,100,50);
      j.setBounds(100,100,200,50);
      B.addActionListener(this);
      f.add(B);f.add(j);
      f.setDefaultCloseOperation(f.EXIT_ON_CLOSE);
  }
  public void actionPerformed(ActionEvent e){
      if(e.getSource()==B) {
          try {
        j.setText("connected to "+s.getInetAddress());
          }
          catch(Exception ex) {
              System.out.println(ex);
          }
      }
  }
  public static void main(String[] args)throws IOException{
    server p=new server();
  }
}

Я получил исключение"java.net.connectionexception: время ожидания соединения: ....

...