您的位置:首页 > 理论基础 > 计算机网络

QT中的TCP方法

2016-02-02 16:19 363 查看
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

可以实现自动重连接等逻辑。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt 网络