QT中的TCP方法

来源:互联网 发布:尹成c语言网盘 2016 编辑:程序博客网 时间:2024/06/07 22:36

1.Qt中找不到QTcpSocket.h的解决办法:

在你的.pro文件中:
QT += network

2.http://blog.sina.com.cn/s/blog_4888f88101014euy.html

  1. 连接服务器
    m_tcpSocket->connectToHost(“127.0.0.1”, 9877);
    connected = m_tcpSocket->waitForConnected();
    只有使用waitForConnected()后,QTcpSocket才真正尝试连接服务器,并返回是否连接的结果。

  2. 写数据
    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

  3. 断开与服务器的连接
    m_tcpSocket->disconnectFromHost()
    m_tcpSocket->waitForDisconnected()

  4. 善于使用QTcpSocket的SIGNAL:connected(), disconnected(), error(QAbstractSocket::SocketError)
    配合自定义私有开关变量bool connected, QTimer
    可以实现自动重连接等逻辑。

0 0
原创粉丝点击