【发布时间】:2018-08-17 12:02:08
【问题描述】:
我有 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 是无连接的
标签: c++ sockets tcp udp boost-asio