首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户端如何知道子TCP进程正在使用的临时端口?

客户端如何知道子TCP进程正在使用的临时端口?
EN

Stack Overflow用户
提问于 2015-01-30 08:04:28
回答 1查看 1.4K关注 0票数 1

在阅读TCP的工作原理时,我读了不少书,其中提到,在listen()之后,当客户端连接到服务器时,套接字程序员应该调用accept()来接受来自客户端的连接。然后,父TCP服务器进程(例如,在端口上侦听80)调用一个fork(),然后创建一个子进程,然后继续与客户机通信。子进程显然必须绑定到另一个临时端口,以便与客户端进行通信。我的问题是,客户端如何知道要将数据发送到哪个端口,以便在子进程分叉后进行通信?监听端口80的父TCP进程是否将其传送给客户端?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-01-30 08:34:19

Hiw客户端知道子TCP进程正在使用的临时端口吗?

没有什么短暂的港口可以知道。客户端一直在使用与其连接的相同的目标端口。

子进程显然必须绑定到另一个临时端口,以便与客户端进行通信。

不是的。客户端进程继承接受的套接字,该套接字与侦听套接字绑定到同一个本地端口。

我的问题是,客户端如何知道要将数据发送到哪个端口,以便在子进程分叉后进行通信?

它通过连接到的同一个端口进行通信。

监听端口80的父TCP进程是否将其传送给客户端?

客户端通过FD继承机制继承套接字。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28231619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档