问题描述
- java 客户端Socket端口问题
-
tcp问题,客户端Socket提问,getLocalPort(),连接的是本地的服务端,第一次运行是2880,第二次运行是2881,第三次运行是2882,我想了解客户端的端口是怎么回事,端口是怎么分配的?
解决方案
一个连接占用一个端口,分配端口有自己的算法
像这个就是随机分配不常用的
解决方案二:
端口分配没有什么规定,像偶在程序实现 TCP/UDP 的程序中都是随便选一个不常用的端口。
客户端使用什么端口,一般由服务器决定。因为只有尝试连接服务器的指定端口,才能与服务器建立连接。
解决方案三:
Java Socket服务器与客户端实例
java使用多线程编程,实现socket服务器客户端交互
java Socket 客户端实践
解决方案四:
TCP 服务端启动时需要自己绑定端口,而客户端启动时不需自己绑定端口,会随机分配一个不常用的端口。
解决方案五:
在TCP/IP的端口分配机制中看到,服务器的保留端口是用来监听发送到服务器的请求的。
当服务器收到客户端请求后,便会建立一个线程负责跟客户端进行通信,而这个新建的线程的端口号是服务器自由分配的,即客户端Socket的端口,这样建立通信之后,然后这个线程继续用这个端口与客户机通信的。
相同问题的帖子:http://bbs.csdn.net/topics/390278142
时间: 2024-10-31 06:30:44