SOCKET sock = generate_socket("fileWizard");
notifier = new QSocketNotifier(sock, QSocketNotifier::Read, this);
connect(notifier, SIGNAL(activate(int)), this, some_slot(int));
SOCKET是一个win32 SOCKET," generate_socket"正在创建一个套接字连接到本地exe,它调用" fileWizard"(不知道函数generate_socket的实现细节)。 使用Qt,我们总是生成套接字并连接信号和插槽,但无法在asio中找到类似的示例。
对socket和asio还不熟悉,请告诉我你需要什么信息。感谢
编辑:
代码的目的是监控SOCKET,如果有任何变化,它将调用回叫。
类似于asio(Daytime.3 - An asynchronous TCP daytime server)的示例 让我迷惑的部分是
1:我怎样才能将SOCKET转换为boost :: asio socket之一?
2:我怎样才能监控套接字的更改"(什么都可读)(我们的老人称之为文件描述符)?通过read_async?
答案 0 :(得分:1)
basic_stream_socket
)之上构建SOCKET
。QSocketNotifier
类,但Boost.Asio确实使用reactor-style operations支持null_buffers()
。这两种方法都允许在事件发生时通知应用程序,例如当数据准备好从文件描述符中读取时。此事件通知功能允许每个事件循环与其他事件循环或第三方库集成。有关使用null_buffers()
的完整示例,请参阅官方Boost.Asio non-blocking example。