代码之家  ›  专栏  ›  技术社区  ›  Farsan Rashid

如果一个插座被四重奏识别,那么一个听力插座的四重奏信息是什么?

  •  0
  • Farsan Rashid  · 技术社区  · 6 年前

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

    • (源IP、源端口、目标IP、目标端口、协议)定义套接字。

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

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

    2 回复  |  直到 6 年前
        1
  •  2
  •   Remy Lebeau    6 年前

    服务器的侦听套接字正在给定的ip:port上侦听,但未连接到任何人,因此只能通过侦听ip:port来识别它。

    当建立客户端连接时, accept() 返回A 新的 连接到特定客户机的套接字,因此服务器IP:port和客户机IP:port都可以识别它。

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

        2
  •  1
  •   user207421    6 年前

    没有。侦听套接字由一个2元组标识:IP地址和端口。

    (源IP、源端口、目标IP、目标端口、协议)定义套接字。

    不,它定义了 连接。

    套接字描述符是一个整数,用作套接字的标识符

    对的。

    (源IP、源端口、目标IP、目标端口、协议)

    不,见上面。