java - 指定服务器地址给客户端程序

标签 java tcp connection

我开始学习 TCP 连接和在 java 中使用套接字/服务器套接字。现在我在程序中指定服务器地址。你应该如何定义服务器地址?如果应用程序推出并且 IP 地址发生更改,则它不起作用。

最佳答案

如果您将服务器套接字绑定(bind)到一个未指定的主机地址,该套接字将绑定(bind)到所有可用的接口(interface)(参见 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文件或命令行参数。

关于java - 指定服务器地址给客户端程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35161211/

相关文章:

Java Streams GroupingBy 和按计数过滤(类似于 SQL 的 HAVING)

java - 检查 ZonedDateTime 是否在某个时间之间

sockets - 通过TCP/IP进行音频和视频

Java、Netty、TCP和UDP连接集成 : No buffer space available for UDP connection

scala - Internet 关闭时不会调用 TCP IO Akka 套接字连接关闭

java - itext7,html转pdf无法换行长英文单词或长数字

java - 将普通中缀表达式转换为标记数组列表

php - mysql 和 php 安全 : database as catalog only

Powershell - 如何设置 TCP 发送接收行结束字符? <CR> 与 <LF>

MySQL TCP 连接