Poco:如何从另一个线程中止阻塞套接字操作
Poco: How to abort a blocking socket operation from another thread
Poco中是否有适当的方法中止来自另一个线程的阻塞I/O操作?
由于执行I/O的线程会被阻塞,我看不出有任何直接的方法可以进去或取消它,除了让线程变得讨厌和显式地杀死线程之外。然而,这是不建议的
是的,您可以调用Socket::shutdown()。之后会发生什么取决于您的平台,当recv()返回时,Poco将抛出适当的异常。
但是您不必从阻塞I/O开始,因为有Poco::Net::Socket::setBlocking(bool)可以启用或禁用阻塞行为。或者,即使您想进行阻塞,您仍然可以使用Poco::Net::Socket::setSendTimeout
相关文章:
- 当套接字连接断开时检测C/C++Unix
- 通过套接字[TCP]传输数据 如何在C / C ++中打包多个整数并使用send() recv()传输数据
- 如何通过套接字将文本文件的内容从服务器发送到客户端
- 如何在C/C++中用FD_set Unix设置套接字文件描述符
- 套接字读取后,我在缓冲区中看到意外输入
- 如何使用阻止套接字 API 添加消息发送操作 (smtp) 的进度?
- 无法对套接字执行操作,因为系统缺少足够的缓冲区空间或队列已满
- C/C++ 套接字:如果我在 IPv6 TCP 连接之前执行任何操作,则连接将失败
- 使用 CAsynSocket,如何捕获套接字操作的退出代码?
- 哪些 IO 操作会导致在使用套接字时将完成数据包发送到完成端口
- 套接字API:非套接字上的套接字操作
- 如何处理在同一套接字上发布多个操作的情况
- 取消套接字轮询操作
- 大规模套接字操作的分段故障
- 非套接字上的套接字操作,zmq选项
- Poco:如何从另一个线程中止阻塞套接字操作
- 多线程套接字操作与进度条更新
- Unix套接字:具有多个关联集的select()执行的操作超出了它应该执行的操作
- 来自 Boost::asio 套接字async_read_some操作的内存泄漏
- bind:对非套接字的套接字操作