我尝试创建一个带有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());
这给了我以下例外:
打开:已经打开
我已经花了很长时间使用这段代码,但结果保持不变。我在这里缺少什么?
答案 0 :(得分:0)
您似乎尝试在端口0
上创建UDP端点。我假设它可能已被使用,因此您可以尝试更改端口:
mLocalEndpoint = std::make_unique<udp::endpoint>(udp::v4(), 40000);