如果客戶端已關閉,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