gpt4 book ai didi

linux - linux内核如何区分连接套接字和监听套接字?

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

例如,一个 tcp 服务器监听地址 10.10.10.1:80。客户端 10.10.10.2:555 连接进来。服务器 accept() 将创建一个新的连接套接字,该套接字由 (10.10.10.1:80,10.10.10.2:555,tcp) 标识。服务器为连接的套接字创建一个线程并继续监听套接字。当客户端有新数据到服务器时,我的问题是内核如何区分监听套接字和连接套接字? (当然他们有不同的文件指针,但是内核如何通过目标地址获得正确的套接字?)内核如何知道这个即将到来的数据将通过连接的套接字而不是监听套接字移交给APP?不确定我是否清楚我的问题。

最佳答案

没必要。传入段被寻址到本地 IP:port 并具有另一个 IP:port 的源地址。它所要做的就是找到一个具有本地 IP:port 和远程 IP:port 的套接字。监听套接字根本没有远程 IP:端口,并且连接到其他对等点的具有该本地 IP:端口的套接字将具有不同的远程 IP:端口。

关于linux - linux内核如何区分连接套接字和监听套接字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35881769/

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