服务器为TCP连接新建进程需要新的端口号吗

服务器为TCP连接新建进程需要新的端口号吗,第1张

首先要知道服务器客户端的关系是:首次连接,客户端主动连接服务器。连接成功之后,发送数据就双向了,谁先发都可以。这就好比你首先访问一个网站,而那个网站不能首先找到你。
服务器在监听8888端口。假设IP地址是A。
一个客户端B连接过来,关系就是B:X->A:8888服务器会知道这个socket对象是和B:X关联的。
同样的客户端B连接过来,那么它就不能再用X这个端口了。要换一个。
如果是令一个客户端C,则是C:Y->A:8888当然X和Y是可以一样的。因为他们是不同的客户端IP。
连接成功之后,发送和接收就方便了。服务器向某个socket对象发送数据即可。

其实绑定端口,就是编程的人员预先给服务器设置一个确定的端口,而不是由系统随机分配一个端口。
服务器绑定了某一个端口,客户端才能通过该端口向服务器发起连接请求·。如果不绑定端口,而是由系统随机分配给服务器一个端口,既然是随机的,那么客户端也不知道系统分配的是哪个端口。客户端不知道服务器的端口,还怎么与服务器通信呢?
客户端就不需要绑定端口了,系统随机分配一个就可以了。当客户端第一次向服务器发送数据时,客户端的端口号随同数据一起就给了服务器。服务器有了客户端的端口自然就可以向客户端发送数据。
当然除了绑定端口外还要绑定IP地址。
以上纯属个人理解,仅供参考,谢谢。
知识无界限,
这个答案是我照搬的
个人观点:是客户端寻找服务端,只需服务端有明确的标识就可以了。服务端与客户端连接时,客户端的套接字,ip地址已经传给了服务端,这时已经建立好了连接

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13401553.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-29
下一篇 2023-07-29

发表评论

登录后才能评论

评论列表(0条)

保存