gpt4 book ai didi

c - 在客户端服务器程序中 fork 客户端

转载 作者:太空宇宙 更新时间:2023-11-04 12:15:19 25 4
gpt4 key购买 nike

我正在尝试学习套接字编程。所以我的问题是,如果您在连接到套接字后即在执行连接调用后在客户端上 fork 了一个 child 。那么是否可以在子进程和父进程中使用套接字描述符独立读写呢?服务器只知道一个套接字。因此,如果您对 child 的阅读速度快于对 parent 的阅读速度。父级会丢失数据吗?

最佳答案

是的。如果两个进程试图对同一个连接进行操作,它们就会竞争。

fork 将复制连接的文件描述符(与 dup/dup2/dup3 一样),但是这两个文件描述符只会被计算为两个引用相同的连接。

实际上这意味着大多数 fd-taking 系统调用(read(),write(),...)将通过共享目标文件(实际连接),但是 close() 调用只会减少引用计数,并且只会在引用计数变为 时启动连接关闭(与 shutdown() 系统调用一样) 0

关于c - 在客户端服务器程序中 fork 客户端,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47590778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com