指定客户端程序的服务器地址

时间:2016-02-02 18:30:53

标签: java tcp connection

我开始学习TCP连接并在java中使用Sockets / ServerSockets。现在我在程序中指定服务器地址。你应该怎么定义服务器地址?如果应用程序已推出且IP地址发生更改,则无效。

1 个答案:

答案 0 :(得分:0)

如果将服务器套接字绑定到未指定的主机地址,则套接字将绑定到所有可用接口(请参阅InetSocketAddress)。

// Usually loaded from external configuration.
String host = "";
int port = 12345;
ServerSocketChannel serverSocketChannel = ServerSocketChannel.open();
serverSocket = serverSocketChannel.socket();
if (host != null && !host.isEmpty(""))
    serverSocket.bind(new InetSocketAddress(host, port));
else {
    serverSocket.bind(new InetSocketAddress(port));
}

实现这一目标的另一种方法是允许主机的外部配置。例如,使用properties文件或命令行参数。