从 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 是一个很好的总结
我有 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 是一个很好的总结