gpt4 book ai didi

c - 一次接受多客户端请求

转载 作者:行者123 更新时间:2023-11-30 16:17:54 29 4
gpt4 key购买 nike

首先,我知道有一些方法可以通过 fork 或线程处理多个客户端请求。但我不明白为什么服务器不能在没有 fork 或线程的情况下进行多次接受。 Accept() 调用可以简单地接受所有希望连接到它的进程。为什么除非客户端断开连接否则调用(accept())不能继续?

服务器以阻塞(默认)方式执行socket()、listen()和bind()

客户端默认情况下也是如此:socket() 和 connect()

我认为accept的返回值将针对最近的 child 。但实际上它会阻塞,直到先前的客户端切断其连接。

最佳答案

I wonder whether there is file-descriptor which is returned by accept() overwriting? If not, how?

没有覆盖accept() 创建一个新的已连接套接字,并返回一个引用该套接字的新文件描述符 - 每次都是一个新的、不同的文件描述符。当然,管理所有客户端连接而不创建其他线程的服务器必须存储所有这些文件描述符,例如。 G。在一个数组中。

关于c - 一次接受多客户端请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56135109/

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