如果客户端已关闭,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. Android多行TextView,检查文本是否适合,或检查是否TextView已满
- 3. 心跳来检查用户是否通过身份验证?
- 4. 您能否检查一下这个替换是否合适?
- 5. 与QTcpSocket - 检查连接
- 6. 哪种方法更适合检查数字是否是整数?
- 7. 检查一年是否用c跳跃#
- 8. 跳过“检查文件是否存在”
- 9. 检查它是否为开心号码
- 10. 检查应用程序的心跳
- 11. 如何检查jpeg是否适合内存?
- 12. 用于检查URL是否适合模式的Java方法
- 13. Pythonic方法来检查整数是否适合64位
- 14. 如何检查用户输入是否适合变量?
- 15. 检查一个字符串是否适合名称模式
- 16. 检查给定日期是否适合日期范围
- 17. Android - 如何检查文本是否完全适合视图?
- 18. 检查变量是否适合jQuery每个
- 19. 检查日期是否适合定义日期模式
- 20. 如何检查hadoop是否适合工作,
- 21. 检查建议是否适用
- 22. 使用WebCam检测心跳?
- 23. 检查邮政编码是否合格
- 24. 检查变量是否合格
- 25. 检查TXT文件是否有重合
- 26. 检查是否存在字段组合
- 27. 检查类是否符合协议
- 28. 检查网格是否有聚合
- 29. 检查是否在一个jQuery集合
- 30. MCP3008 vs ADS1015哪两个最适合心跳监视器?
我在我的项目中实现了这个逻辑,它对我来说工作得非常好。 – skg
在Qt生态系统的背景下,选择使用信号/插槽机制是最好的处理方式。这种方法可以让你的代码更加友好和异步 – dusktreader
@skg谢谢,我已经测试过它,它工作正常。 – Jichao