gpt4 book ai didi

c++ - Boost Asio connect_async 从不调用处理器

转载 作者:塔克拉玛干 更新时间:2023-11-03 06:45:35 25 4
gpt4 key购买 nike

我正在尝试开发一个需要异步方法的网络应用程序。现在我正在尝试使用 Boost Asio 来实现并搜索示例代码。但是我发现的所有示例都使用带有 boost::bind 的类方法作为处理程序。我想为处理程序使用更简单的普通 c 样式函数,而不是类方法。我尝试了以下代码并顺利完成编译,但在运行时从未调用处理程序 on_connect()。

#include <iostream>
#include <conio.h>
#include <boost/asio.hpp>
#include <boost/bind.hpp>

using namespace std;
using namespace boost;
using namespace boost::asio;

void on_connect(const system::error_code& error)
{
cout << "on_connect called!" << endl;
}

int main()
{
io_service io_service;
ip::tcp::socket socket(io_service);
socket.async_connect(ip::tcp::endpoint(ip::address::from_string("192.168.0.2"), 12345), &on_connect);
_getch();
}

我应该如何修复代码以正确调用处理程序?

提前致谢。

最佳答案

在调用_getch();之后调用io_service.run();

关于c++ - Boost Asio connect_async 从不调用处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22268914/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com