从 tcp 迁移到 udp 时,“acceptor”不是“boost::asio::ip::udp”的成员

‘acceptor’ is not a member of ‘boost::asio::ip::udp’ while migration from tcp to udp

我有 TCP 套接字。 这是一侧的外观:

using boost::asio::ip::tcp;

tcp::socket socket(service);
tcp::acceptor acceptor(service, tcp::endpoint(tcp::v4(), port));
acceptor.accept(socket_);

// send something
socket.write_some(boost::asio::buffer(&(*sbBuf.begin()), len)); 

另一边:

using boost::asio::ip::tcp;

tcp::socket socket(service);
tcp::resolver resolver(service);
tcp::resolver::query query2(udp::v4(), host, portStr);
tcp::resolver::iterator iterator = resolver.resolve(query);
boost::asio::connect(socket , iterator);
//receive something
size_t len = socket.receive(boost::asio::buffer((void *)&(*(v.begin())), DEFAULT_BUFLEN));

现在我需要将 tcp 更改为 udp。 我将所有 boost::asio::ip::tcp:: 前缀更改为 boost::asio::ip::udp::。 我使用 send 而不是 write_some.

现在我遇到了下一个错误 ‘acceptor’ is not a member of ‘boost::asio::ip::udp’

我试图找到一些例子,但我找不到好的例子来理解我可以使用什么来代替 acceptor

没有诸如UDP接受器之类的东西,请阅读UDP和TCP连接之间的区别。 Or/and 参见

此外 here 是一个很好的总结