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