我开始学习TCP连接并在java中使用Sockets / ServerSockets。现在我在程序中指定服务器地址。你应该怎么定义服务器地址?如果应用程序已推出且IP地址发生更改,则无效。
答案 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文件或命令行参数。