zoukankan      html  css  js  c++  java
  • fortuneclient 学习 (客户端接受数据) GIS

    1 建立tcpsocket 

      tcpSocket = new QTcpSocket(this);

    connect(tcpSocket, SIGNAL(readyRead()), this, SLOT(readFortune()));
    connect(tcpSocket, SIGNAL(error(QAbstractSocket::SocketError)),this, SLOT(displayError(QAbstractSocket::SocketError)));

    2 主动连接tcpsever

    tcpSocket->abort();
    tcpSocket->connectToHost(hostLineEdit->text(),portLineEdit->text().toInt());

    3 读取数据  

    void Client::readFortune()
    {
    //! [9]
    QDataStream in(tcpSocket);
    in.setVersion(QDataStream::Qt_4_0);

    if (blockSize == 0) {
    if (tcpSocket->bytesAvailable() < (int)sizeof(quint16))
    return;
    //! [8]

    //! [10]
    in >> blockSize;
    }

    if (tcpSocket->bytesAvailable() < blockSize)
    return;
    //! [10] //! [11]

    QString nextFortune;
    in >> nextFortune;

    if (nextFortune == currentFortune) {
    QTimer::singleShot(0, this, SLOT(requestNewFortune()));
    return;
    }
    //! [11]

    //! [12]
    currentFortune = nextFortune;
    //! [9]
    statusLabel->setText(currentFortune);
    getFortuneButton->setEnabled(true);
    }

  • 相关阅读:
    2019第二周作业
    求最大值及其下标
    查找整数
    2018秋季学习总结
    抓老鼠 亏了还是赚了
    币值转换
    打印沙漏
    从文本中找出url,并附上链接。
    手机端点击输入框页面会放大
    <dl>、<dt>和<dd>标记的用法
  • 原文地址:https://www.cnblogs.com/gisbeginner/p/2790659.html
Copyright © 2011-2022 走看看