不同计算机上的Client-Server应用程序

时间:2014-04-15 13:01:58

标签: java networking

如果服务器托管在不同的计算机上,我想修改我的代码以使客户端连接到服务器。这是我现在的代码:

服务器:

int port = 5000;
ServerSocket server = new ServerSocket(port);
Socket socket = server.accept();
output/input streams....

客户端:

String host = "localhost";
int port = 5000;
Socket socket = new Socket(host, port);
OutputStream out = socket.getOutputStream();
InputStream in = socket.getInputStream();

我知道inetAddress,这就是我需要帮助的地方,我不知道如何正确使用它,我不希望任何复杂的方法足以将它们连接在一起。此外,我想知道是否可以使用DNS,或者我是否需要网络服务器或类似的东西(当然DNS纯粹是好奇心)。

1 个答案:

答案 0 :(得分:0)

要连接到远程计算机,您需要该计算机的IP地址或主机名,然后您可以使用InetAddress.getByName(String)

如果没有DNS服务器可用于解析主机名中的IP,您将使用IP地址,如下所示:

Socket socket = new Socket(InetAddress.getByName("1.2.3.4"), 5000);

或者是否有DNS服务器,那么你可以像这样传递服务器主机名:

Socket socket = new Socket(InetAddress.getByName("myserver"), 5000);