我从 boost doc 中看到了官方的异步 udp 服务器示例。在那里,您创建一个 udp 套接字,将其绑定到本地端口并执行以下操作:
socket(ioService, boost::asio::ip::udp::endpoint(boost::asio::ip::udp::v4(), port))
socket.async_receive_from(buffer(data, max_length), senderEndpoint, boost::bind(&Request::HandleReceiveFrom, this,
boost::asio::placeholders::error,
boost::asio::placeholders::bytes_transferred));
如何处理来自客户端的多个并发 udp 连接,因为如果我尝试使用创建另一个套接字
socket(ioService, boost::asio::ip::udp::endpoint(boost::asio::ip::udp::v4(), port))
我收到绑定错误,因为我已经有一个绑定到同一个端口的套接字。
编辑 我可以使用不同的服务器源端口向客户端发送回响应,但即使我将响应发送回相同的客户端 ip/客户端目标端口,它们也不会识别响应。