创建客户端时,如何知道为Java中的Socket对象选择的有效端口是什么?

例如,我尝试过Socket("localhost", 0)

但是,由于无法绑定到端口,最终导致抛出异常。

我知道,当端口为0时,ServerSocket会绑定到任何空闲端口。初始化套接字时,客户端是否有类似的设置?

===============>>#1 票数:2

JavaDocs

public Socket(InetAddress address, int port)
       throws IOException

字符串不是InetAddress 使用InetAddress.getByName()从字符串创建一个InetAddress (确保该字符串是网站的主机名)。


注意 :在某些系统上,您无法始终自由选择要使用的端口,在某些系统上,可能存在保留的范围,并被认为是用户应用程序的禁区。

===============>>#2 票数:2 已采纳

客户端需要知道服务器正在侦听哪个端口。 什么是套接字有详细说明 从套接字读取和写入的示例代码。

===============>>#3 票数:1

该参数指定要连接的目标端口,而不是要绑定的本地端口。 本地端口是自动分配的,您不必担心。 您确实需要知道要连接到哪个服务器端口。 目标(连接)端口使用零是没有意义的。

  ask by user1431282 translate from so

未解决问题?本站智能推荐:

关注微信公众号