【问题标题】:java serverSocket use same port whereas client uses differentjava serverSocket 使用相同的端口,而客户端使用不同的端口
【发布时间】:2014-08-04 20:56:51
【问题描述】:

在每个 Java 套接字程序中,我们都有一个带有端口号的 Serversocket 和 Client Socket

我对通信机制感到困惑,我们有一个固定的服务器端口号,很明显服务器可以连接一个端口号,但是我们与客户端有不同的端口,我的意思是每次打印时它都会给我不同的端口号

System.out.println("caught a client : "+ client.getInetAddress() +" : "+ client.getPort());

我想知道客户端端口号每次都不一样的原因

谢谢

【问题讨论】:

    标签: java sockets network-programming port serversocket


    【解决方案1】:

    一个 TCP 套接字连接由 4 个字段标识:源地址和端口,以及目标地址和端口。如果您在客户端使用固定端口,您将无法与同一服务器和端口建立另一个连接。

    通常客户端选择哪个端口并不重要,只要它没有被使用。大多数程序将其留给操作系统来寻找空闲端口。

    【讨论】:

    • 其实很重要。区分新创建的套接字连接至关重要。
    • @zgulser 澄清说,你选择哪个端口并不重要,只要它是免费的
    猜你喜欢
    • 2011-12-09
    • 2019-07-12
    • 2017-04-10
    • 2021-10-03
    • 2019-07-05
    • 1970-01-01
    • 2013-07-17
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多