gpt4 book ai didi

c - 为什么接受返回的套接字与参数套接字不同?

转载 作者:IT王子 更新时间:2023-10-29 01:04:46 26 4
gpt4 key购买 nike

int accept(int socket, struct sockaddr *restrict address,socklen_t *restrict address_len);

accept 方法接收一个 listen fd socket 并返回一个 conn fd。当然他们是不同的。但是两个socket的端口是一样的,为什么不一样呢?

listen 方法监听连接,如果 tcp 3 方式握手完成,套接字变为可接受。监听套接字如何在accept期间将tcp连接传输到新的conn fd套接字?

最佳答案

But the two socket have the same port, why they are different?

因为否则您将永远无法同时拥有多个客户端。已接受的套接字还具有对等 IP 地址和端口,而监听套接字则没有。

How do the listen socket transfer tcp connection the new conn fd socket during accept?

它不会“转移”任何东西。 accept() 使用连接详细信息创建一个新套接字。

关于c - 为什么接受返回的套接字与参数套接字不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49312236/

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