如果客户端已关闭,QTcpSocket是否立即收回stateChanged信号?QTcpSocket stateChanged是否适合心跳检查?
0
A
回答
3
您可以在服务器端使用客户端信号(disconnect())来接收状态改变信号。
例如:
在服务器端
connect(client, SIGNAL(disconnected()), this, SLOT(funcA()));
//to recieve a signal immediately when client is shutdown
connect(client, SIGNAL(connected()), this, SLOT(funcB()));
// to recieve a signal immediately when client is connected
希望这会帮助你。
1
如果套接字的远端已关闭,则它变得可读,读取它时您将收到零字节。从套接字读取是检测远端是否已正常关闭的正确方法。
因此,要回答你的问题,我猜的stateChange
信号将不时立即远端已经被关闭调用,因为没有办法知道,直到你尝试从套接字读取的方式。
相关问题
- 1. 检查用户输入是否适合
- 2. 心跳来检查用户是否通过身份验证?
- 3. 检查一年是否用c跳跃#
- 4. 检查它是否为开心号码
- 5. 检查应用程序的心跳
- 6. 用于检查URL是否适合模式的Java方法
- 7. 检查变量是否适合jQuery每个
- 8. 如何检查jpeg是否适合内存?
- 9. 如何检查hadoop是否适合工作,
- 10. Android - 如何检查文本是否完全适合视图?
- 11. 检查建议是否适用
- 12. 使用WebCam检测心跳?
- 13. MCP3008 vs ADS1015哪两个最适合心跳监视器?
- 14. 检查TXT文件是否有重合
- 15. Neo4J是否适合clojure?
- 16. Google Appengine是否适合我
- 17. Hadoop是否适合您?
- 18. SQLite是否适合论坛?
- 19. BCS是否适合我?
- 20. WIF和REST是否合适?
- 21. 这是否适合Linq GroupBy?
- 22. WCF是否适合您?
- 23. 在Android中如何检查GPS的点是否适合给定的多段线?
- 24. Webkit检查器(开发人员工具)是否适合替换Firebug?
- 25. 如何使用Extendscript检查路径是否适合其他路径?
- 26. Cakephp检查今天的日期是否适合两个日期间隔
- 27. 如何检查首先是否被跳过?
- 28. 检查是否收到消息或跳过它(python 3.4)
- 29. Facebook的publish_action - 检查是否跳过按下
- 30. Rails:如何检查find_or_initialize是否正在更新/创建/跳过?
我在我的项目中实现了这个逻辑,它对我来说工作得非常好。 – skg
在Qt生态系统的背景下,选择使用信号/插槽机制是最好的处理方式。这种方法可以让你的代码更加友好和异步 – dusktreader
@skg谢谢,我已经测试过它,它工作正常。 – Jichao