【问题标题】:Does a new socket open for every UDP connection?是否为每个 UDP 连接打开一个新套接字?
【发布时间】:2011-05-04 20:48:30
【问题描述】:

我知道使用 TCP 每个连接都会创建一个新套接字。 UDP 是否也为每个连接创建一个新的套接字?

【问题讨论】:

  • 您的意思是:UDP 也一样吗?
  • “连接”一词本身并不适合 UDP。
  • “连接”指的是 UDP,我的意思是说数据报。

标签: sockets tcp udp


【解决方案1】:

没有。

当您收到一条消息(recvmsg())时,您会被告知发送该消息的对等方的 IP 地址;当您回复 (sendmsg()) 时,您指定消息要发送到的 IP 地址。这是通过单个套接字完成的。另见<sys/socket.h>

【讨论】:

  • 这是有道理的,因为我们真的不需要保留任何信息,因为没有持久连接或重传需要处理。
【解决方案2】:

我知道使用 TCP,每个连接都会创建一个新的套接字。

你把它背到前面。每个新套接字代表一个新连接。

UDP 是否也为每个连接创建一个新的套接字?

这也没有意义。首先,UDP 中没有真正的连接。其次,是 创建套接字或您的应用程序。不是UDP。或 TCP。

【讨论】:

    猜你喜欢
    • 2017-04-26
    • 1970-01-01
    • 2016-07-23
    • 2021-12-09
    • 2017-12-10
    • 1970-01-01
    • 2020-09-02
    • 1970-01-01
    • 2016-08-03
    相关资源
    最近更新 更多