无法打开UDP套接字

时间:2017-11-07 09:23:29

标签: c++ boost udp

我尝试创建一个带有boost的UDP套接字来发送和接收数据。这是相关代码:

// Create IO service
mIoService = std::make_unique<boost::asio::io_service>();

// Create local endpoint on random port
mLocalEndpoint = std::make_unique<udp::endpoint>(udp::v4(), 0);

// Create socket
mSocket = std::make_unique<udp::socket>(*mIoService, *mLocalEndpoint);
mSocket->open(mLocalEndpoint->protocol());

这给了我以下例外:

  

打开:已经打开

我已经花了很长时间使用这段代码,但结果保持不变。我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

您似乎尝试在端口0上创建UDP端点。我假设它可能已被使用,因此您可以尝试更改端口:

mLocalEndpoint = std::make_unique<udp::endpoint>(udp::v4(), 40000);