灰钛琅
2016-01-15 04:37
采纳率: 11.1%
浏览 3.9k

java 客户端Socket端口问题

tcp问题,客户端Socket提问,getLocalPort(),连接的是本地的服务端,第一次运行是2880,第二次运行是2881,第三次运行是2882,我想了解客户端的端口是怎么回事,端口是怎么分配的?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • 把分全给哥 2016-01-15 04:49

    一个连接占用一个端口,分配端口有自己的算法
    像这个就是随机分配不常用的

    评论
    解决 无用
    打赏 举报
  • 91program 2016-01-15 04:56

    端口分配没有什么规定,像偶在程序实现 TCP/UDP 的程序中都是随便选一个不常用的端口。
    客户端使用什么端口,一般由服务器决定。因为只有尝试连接服务器的指定端口,才能与服务器建立连接。

    评论
    解决 无用
    打赏 举报
  • Lemon_life 2016-01-16 06:01

    TCP 服务端启动时需要自己绑定端口,而客户端启动时不需自己绑定端口,会随机分配一个不常用的端口。

    评论
    解决 无用
    打赏 举报
  • 毕小宝 2016-01-17 05:44

    在TCP/IP的端口分配机制中看到,服务器的保留端口是用来监听发送到服务器的请求的。
    当服务器收到客户端请求后,便会建立一个线程负责跟客户端进行通信,而这个新建的线程的端口号是服务器自由分配的,即客户端Socket的端口,这样建立通信之后,然后这个线程继续用这个端口与客户机通信的。
    相同问题的帖子:http://bbs.csdn.net/topics/390278142

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题