我有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
发布于 2018-08-17 20:18:19
没有像UDP的接受者这样的东西,阅读UDP和TCP连接之间的区别。或/和请参阅UDP communication using c++ boost asio
here也是一个很好的总结
https://stackoverflow.com/questions/51895030
复制相似问题