QTcpSocket的讀寫操作

QTcpSocket的讀寫函數一般是異步的,即write函數執行後,其實不一定會把數據寫入socket,可能要等到事件循環(main函數的return a.exec())纔會寫入。如果需要立即寫入,要執行QTcpSocket的flush函數。

QTcpSocket的讀函數也類似,我們定義一個槽函數void slot_readyRead響應信號readyRead,槽函數中,能夠讀取的數據,也只有這段時間內socket收到的數據。如果此時socket再收到數據,slot_readyRead執行期間不會重入,但是能夠讀到的數據也只有第一次readyRead時的數據。

猜測QTcpSocket有一個讀寫緩衝區,在事件循環的時候,這些內容才能實際的讀寫。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章