簡體   English   中英

如何通過Internet從Java中的客戶端連接服務器?

[英]How to connect server from client in java over internet?

我已經在Java服務器和客戶端中創建了兩個程序,我通過localhost連接,但是我想從世界各地通過Internet連接客戶端。

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");

        }

    }

}

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

您可以通過替換該行的參數來做到這一點:

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

進入服務器的公共IP地址和運行應用程序的端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM