2016-04-03 35 views
0

我已經創建了兩個程序在java服務器和客戶端,我通過本地主機連接,但我想通過互聯網連接客戶端遍佈世界各地。如何從互聯網上的java客戶端連接服務器?

public class Client { 

    public static void main(String[] args) throws UnknownHostException, IOException { 

     Socket socket = new Socket("localhost", 1234); 

     OutputStream outputStream = socket.getOutputStream(); 
     DataOutputStream dataOutputStream = new DataOutputStream(outputStream); 

     dataOutputStream.writeInt(Integer.parseInt(args[0])); 

     InputStream inputStream = socket.getInputStream(); 
     DataInputStream dataInputStream = new DataInputStream(inputStream); 

     System.out.println(dataInputStream.readUTF()); 

    } 

} 

public class Server { 

    public static void main(String[] args) throws IOException { 

     ServerSocket serverSocket = new ServerSocket(1234); 

     while(true) { 

      Socket socket = serverSocket.accept(); 

      InputStream inputStream = socket.getInputStream(); 
      DataInputStream dataInputStream = new DataInputStream(inputStream); 

      int a = dataInputStream.readInt(); 

      OutputStream outputStream = socket.getOutputStream(); 
      DataOutputStream dataOutputStream = new DataOutputStream(outputStream); 


      if(a == 1698) 
       dataOutputStream.writeUTF("Welcome Salman"); 

      else if(a == 1700) 

       dataOutputStream.writeUTF("Welcome Wajeh"); 

      else if(a == 1694) 

       dataOutputStream.writeUTF("Welcome Farhan"); 

      else 
       dataOutputStream.writeUTF("Wrong Roll No"); 

     } 

    } 

} 

回答

0

與您的瀏覽器連接到SO的方式相同,您應該獲取服務器的IP地址並連接到它,這可以通過DNS完成。

0

你可以做到這一點僅僅通過更換線路的參數:

Socket socket = new Socket("localhost", 1234); 

到server's公網IP地址,並在運行應用程序的端口。

相關問題