【问题标题】:Cpp server, UDP socket for each clientCpp 服务器,每个客户端的 UDP 套接字
【发布时间】:2012-07-22 05:57:03
【问题描述】:

当我尝试在特定 ip(127.0.0.1/INADDR_LOOPBACK 或 0.0.0.0/INADDR_ANY 除外)上绑定 UDP 套接字时,它会失败。

我需要为每个客户端设置一个专用的 UDP 套接字(点对点连接)。

如果我不绑定套接字并使用 sendto 和 recvfrom 函数,数据永远不会到达。

任何明显的解决方案?

【问题讨论】:

  • 如果您提供指示失败的错误代码,您可能会收到更多反馈。更好的是,提供一个非常短的 sn-p 代码来演示失败。就目前的情况而言,该帖子的信息相当简单。
  • 我认为您正在寻找 connect() 方法。否则我不知道你为什么认为每个客户端都需要一个 UDP 套接字。
  • 实际上,我对 udp 使用的理解更多的是理论上的错误理解。但是黄昏给了我所有我需要知道的关于这个问题

标签: c++ sockets udp client-server


【解决方案1】:

您不能将 UDP 套接字绑定到非本地地址 - 将 UDP 套接字绑定到一个地址意味着您希望数据包被定向到 该地址,而不是正在发送的数据包从该地址。您需要想办法在所有客户端之间共享一个套接字。

【讨论】:

    猜你喜欢
    • 2011-08-15
    • 1970-01-01
    • 2015-03-09
    • 2016-06-04
    • 2023-03-18
    • 2019-12-24
    • 1970-01-01
    • 2012-03-27
    • 2011-11-15
    相关资源
    最近更新 更多