1.Qt中找不到QTcpSocket.h的解決辦法:
在你的.pro文件中:
QT += network
2.http://blog.sina.com.cn/s/blog_4888f88101014euy.html
連接服務器
m_tcpSocket->connectToHost(“127.0.0.1”, 9877);
connected = m_tcpSocket->waitForConnected();
只有使用waitForConnected()後,QTcpSocket才真正嘗試連接服務器,並返回是否連接的結果。寫數據
m_tcpSocket->write(str.toStdString().c_str(), strlen(str.toStdString().c_str()));
m_tcpSocket->waitForBytesWritten();
當使用waitForBytesWritten()後,QTcpSocket才真正發送數據。
m_tcpSocket->write(str1.toStdString().c_str(), strlen(str1.toStdString().c_str()));
m_tcpSocket->write(str2.toStdString().c_str(), strlen(str2.toStdString().c_str()));
的結果是發送了str1str2斷開與服務器的連接
m_tcpSocket->disconnectFromHost()
m_tcpSocket->waitForDisconnected()善於使用QTcpSocket的SIGNAL:connected(), disconnected(), error(QAbstractSocket::SocketError)
配合自定義私有開關變量bool connected, QTimer
可以實現自動重連接等邏輯。