如果一个socket被四元组识别,监听socket的四元组信息是什么?
If a socket is identified by the quartet, what is quartet information of a listening socket?
我试图理解 accept() 创建一个新套接字是什么意思,this question 的接受答案非常有帮助。我的问题来自已接受答案的评论部分,因为我认为它应该是一个单独的问题。我的理解是这样
(source ip, source port, destination ip, destination port, protocol) 定义一个socket.
套接字描述符是一个整数,用作套接字的标识符(源ip、源端口、目标ip、目标端口、协议)
现在除了问的问题我还想知道我的理解是否是“accept() 和socket() 返回的不同套接字描述符指向同一个套接字(源ip,源端口,目标ip,目标端口,协议)
但代表同一个套接字的不同状态(监听状态,连接到客户端状态)就像同一个文件可以处于读取mode/write模式“是否正确。
没有。侦听套接字由 2 元组标识:IP 地址和端口。
(source ip, source port, destination ip, destination port, protocol) defines a socket.
没有。它定义了一个连接。
A socket descriptor is an integer that works as an identifier of a socket
正确。
(source ip, source port, destination ip, destination port, protocol)
不,见上文。
服务器的侦听套接字正在侦听给定 IP:port,但未连接到任何人,因此只能通过侦听 IP:port.
识别
当建立客户端连接时,accept()
returns 一个 new 连接到特定客户端的套接字,因此它可以被两个服务器识别IP:port 和客户 IP:port.
一个套接字代表一个特定的端点,它可能是底层连接的一部分,也可能不是。套接字描述符就是应用程序引用给定套接字的方式。监听套接字有 1 个端点,而连接套接字有 2 个端点。这就是为什么 accept()
必须 return 一个不同于 accept()
被调用的侦听套接字的新套接字。
我试图理解 accept() 创建一个新套接字是什么意思,this question 的接受答案非常有帮助。我的问题来自已接受答案的评论部分,因为我认为它应该是一个单独的问题。我的理解是这样
(source ip, source port, destination ip, destination port, protocol) 定义一个socket.
套接字描述符是一个整数,用作套接字的标识符(源ip、源端口、目标ip、目标端口、协议)
现在除了问的问题我还想知道我的理解是否是“accept() 和socket() 返回的不同套接字描述符指向同一个套接字(源ip,源端口,目标ip,目标端口,协议) 但代表同一个套接字的不同状态(监听状态,连接到客户端状态)就像同一个文件可以处于读取mode/write模式“是否正确。
没有。侦听套接字由 2 元组标识:IP 地址和端口。
(source ip, source port, destination ip, destination port, protocol) defines a socket.
没有。它定义了一个连接。
A socket descriptor is an integer that works as an identifier of a socket
正确。
(source ip, source port, destination ip, destination port, protocol)
不,见上文。
服务器的侦听套接字正在侦听给定 IP:port,但未连接到任何人,因此只能通过侦听 IP:port.
识别当建立客户端连接时,accept()
returns 一个 new 连接到特定客户端的套接字,因此它可以被两个服务器识别IP:port 和客户 IP:port.
一个套接字代表一个特定的端点,它可能是底层连接的一部分,也可能不是。套接字描述符就是应用程序引用给定套接字的方式。监听套接字有 1 个端点,而连接套接字有 2 个端点。这就是为什么 accept()
必须 return 一个不同于 accept()
被调用的侦听套接字的新套接字。