gpt4 book ai didi

linux - 如果一个socket被四元组识别,监听socket的四元组信息是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:03:38 24 4
gpt4 key购买 nike

我试图理解 accept() 创建一个新套接字和接受的答案 this question 是什么意思很有帮助。我的问题来自已接受答案的评论部分,因为我认为它应该是一个单独的问题。我的理解是这样的

  • (source ip, source port, destination ip, destination port, protocol) 定义套接字。

  • 套接字描述符是一个整数,用作套接字的标识符(源 ip、源端口、目标 ip、目标端口、协议(protocol))

现在除了问的问题我还想知道我的理解是否“accept() 和 socket() 返回的不同套接字描述符指向同一个套接字(源 ip、源端口、目标 ip、目标端口、协议(protocol)) 但表示同一个套接字的不同状态(监听状态,连接到客户端状态)就像同一个文件可以处于读模式/写模式“是正确的还是不正确的。

最佳答案

服务器的监听套接字正在监听给定的 IP:port,但未连接到任何人,因此只能通过监听 IP:port 进行识别。

当建立客户端连接时,accept() 返回一个连接到特定客户端的套接字,因此服务器 IP:port 和客户端IP:端口。

套接字代表一个特定的端点,它可能是底层连接的一部分,也可能不是。套接字描述符就是应用程序引用给定套接字的方式。监听套接字有 1 个端点,而连接套接字有 2 个端点。这就是为什么 accept() 必须返回一个不同于调用 accept() 的监听套接字的新套接字。

关于linux - 如果一个socket被四元组识别,监听socket的四元组信息是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50734456/

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