• 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);
    }

  • 相关阅读:
    Oracle中的exist和in
    oracle恢复误删数据
    【axios】API 说明
    Content-type对照表
    【gdal】创建GeoTiff栅格数据
    NPM使用
    【nodejs】request 和 response 对象
    【nodejs】express框架+mysql后台数据查询
    webapp网络定位
    JS对象创建的几种方法
  • 原文地址:https://www.cnblogs.com/gisbeginner/p/2790659.html
Copyright © 2020-2023  润新知