当前位置: 首页 > 知识库问答 >
问题:

Boost::ASIO冲孔

安建木
2023-03-14
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
std::vector<std::string> response;

response = split(reply, ':');
std::cout << "name : " << response[0] << std::endl;
std::cout << "adresse : " << response[1] << std::endl;
std::cout << "port : " << response[2] << std::endl;

udp::resolver::query query(udp::v4(), response[0], response[1]);

std::cout << "resolved - - -  -" << std::endl;

struct client *cl = new struct client();

cl->endpoint_iterator = resolver.resolve(query);
// It Crash HERE

cl->sender_endpoint = *endpoint_iterator;
cl->name = response[0];
_clients.push_back(cl);

共有1个答案

羊城
2023-03-14

检查查询的参数。

您正在将响应[1]打印为主机地址,将响应[2]打印为端口。但是您正在构造您的查询对象,将响应[0]作为主机地址,将响应[1]作为端口/服务。

我怀疑“service not found aborted”指的是您的主机名看起来不像端口号或服务名。

 类似资料:
  • 根据http://www.boost.org/doc/libs/1_55_0/doc/html/boost_asio/overview/cpp2011/futures.html,我们可以将boost::asio与一起使用。但是我找不到任何有关使用的信息,它具有更多的功能,例如。我怎么用?

  • 我正在尝试用Boost::ASIO实现NAT打孔。根据我的理解,NAT穿孔器的工作原理是这样的(UDP/TCP): 客户端A绑定到端口并连接到服务器S,客户端B执行相同操作。 当S同时接收到请求和匹配时,它将A的ip和端口发送给B,B发送给A。 a和B接收对方的ip和端口,现在它们从同一端口向对方发送消息并形成连接(因为它们正在等待回复?) 如果没有成功的或,我似乎无法运行任何。当然,当目标端口没

  • epoll()可以对许多fd类型进行轮询,如普通fd、sockets、timefd、eventfd等。 Boost::ASIO::IP::TCP::Socket Boost::ASIO::IP::TCP::Acceptor Boost::ASIO::IP::UDP::Socket deadline_timer。 还有别的办法吗?

  • 问题内容: 我试图从boost :: asio运行SSL示例,并且在运行它们时遇到“无效参数”异常。我在Linux x86_64上。 http://www.boost.org/doc/libs/1_46_1/doc/html/boost_asio/example/ssl/client.cpp http://www.boost.org/doc/libs/1_46_1/doc/html/boost_a

  • 问题内容: 我目前正在尝试使用boost-asio的套接字API通过网络将一些JSON数据从客户端传输到服务器。我的客户基本上是这样做的: 在服务器端,我可以选择各种功能。我想使用JsonCpp解析接收到的数据。在研究JsonCpp API(http://jsoncpp.sourceforge.net/class_json_1_1_reader.html)时,我发现Reader可以在char数组或

  • 问题内容: 我希望一个非常简单的定期计时器每50毫秒调用一次我的代码。我可以使一个线程一直保持50ms的睡眠时间(但这很痛苦)……我可以开始研究Linux API来制作定时器(但它不是可移植的)…… 我 想 使用boost。我只是不知道这是可能的。Boost是否提供此功能? 问题答案: Boosts Asio教程中的第二个示例对此进行了解释。 你可以在这里找到它。 之后,请查看第三个示例,以了解如