-2
我嘗試使用Qt庫和GUI程序讀取TCP端口。Qt TCP Socket讀取問題
的問題是,當我使用此代碼讀取插座:
QTcpSocket *a = new QTcpSocket();
a->connectToHost("127.0.0.1", 5000);
a->read(data,LEN);
它不工作,我需要把額外的功能:
a->waitForReadyRead(1)
但這種功能減慢我的計劃,我使用pthread
連續運行此代碼。我有一個問題,我如何加快我的程序,併成功讀取數據?
我知道你是什麼意思,我用這種方式,但在一個線程中,我認爲我沒有訪問其餘程序的內存。 – ntosis
另一個問題是,如果我讀取的數據運行得比進程快,並且連接事件信號未處於同步讀取狀態時,數據丟失了? – ntosis
@ntosis你可能想編輯你的問題來顯示線程代碼。你只能從它創建的線程中訪問一個套接字(因爲無論你的靜音或其他主線程安全特性如何,Qt都會「斷言」),並且確保創建套接字並不重要在你認爲的線程中,有正確的事件循環和排隊連接的上下文。 –