QT TCP/IP

QT 网络通信(TCP/IP)

服务端:

  一、监听新的客户端接入(QTcpServer)

    重写函数 incomingConnection(qintptr socketDescriptor)

  二、服务端每个客户的监听(QTcpSocket 完成三件事1、监听是否有数据传来。2、监听连接是否中断。3、写数据)

    1、数据传来时有  readyRead()  信号。将 都数据函数和  此信号关联。

    2、连接中断时有 disconnected() 信号。将 中断时处理的事件函数与此信号关联。

    3、write(msg.toLatinl(),length) 函数实现。

客户端:

    一、客户端完成5件事(QTcpSocket 1、连接服务器。2、监听连接服务器是否成功。3、监听是否有数据传来。4、监听连接是否中断。5、写数据)

      1、connectToHost(ip,port);  此函数完成连接服务器。

      2、connected()  连接服务器成功时此信号发出。

      3、readyRead() 有数据传来时此信号发出。

      4、disconnected() 连接中断时此信号发出。

      5、write(msg.toLatinl(),length) 函数实现。

附:读数据的函数

void TcpClient::dataReceived()
{
    while(tcpSocket->bytesAvailable()>0)
    {
        QByteArray datagram;
        datagram.resize(tcpSocket->bytesAvailable());

        tcpSocket->read(datagram.data(),datagram.size());

        QString msg=datagram.data();
        //contentListWidget->addItem(msg.left(datagram.size()));
    }
}

    

    

  

原文地址:https://www.cnblogs.com/lwngreat/p/5572374.html