• 大小: 13.59MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-07-16
  • 语言: Html/CSS
  • 标签:

资源简介

该源码效果图地址:https://www.cnblogs.com/lifexy/p/11317662.html 介绍:支持客户端和服务器,支持十六进制收发,提供应用程序,提供源码,并且服务器支持多客户端连入,并且可以指定与个别客户端发送数据,也可以给所有连入的客户端发送数据. 有什么问题评论即可.

资源截图

代码片段和文件信息

#include “widget.h“
#include “ui_widget.h“


void Widget::initClientSignals()  //初始化客户端信号槽
{
    connect(&m_client SIGNAL(connected()) this SLOT(onClientConnected()));
    connect(&m_client SIGNAL(disconnected()) this SLOT(onClientDisconnected()));
    connect(&m_client SIGNAL(readyRead()) this SLOT(onClientDataReady()));
    connect(&m_client SIGNAL(bytesWritten(qint64)) this SLOT(onClientBytesWritten(qint64)));
    connect(&m_client SIGNAL(error(QAbstractSocket::SocketError )) this SLOT(onClientErr(QAbstractSocket::SocketError)));

}
bool Widget::startClient()         //启动客户端
{
    QString ip = QString(“%1.%2.%3.%4“).arg(ui->ipAddr1->text()).arg(ui->ipAddr2->text()).arg(ui->ipAddr3->text()).arg(ui->ipAddr4->text());
    qDebug()<    m_client.connectToHost(ip ui->ipPort->text().toInt());

    if(m_client.waitForConnected(800))
    {
        return true;
    }
    else
    {

        QMessageBox::information(this“提示“QString(“连接超时“)QMessageBox::Ok);
        return false;
    }

}

void Widget::onClientConnected()
{
    startConnect(true);
    QMessageBox::information(this“提示““连接成功“QMessageBox::Ok);


    ui->localPort->setText(QString(“%1“).arg(m_client.localPort())); //显示本地端口号

}
void Widget::onClientDisconnected()
{
    startConnect(false);
    QMessageBox::information(this“提示““断开完成“QMessageBox::Ok);
}

void Widget::onClientDataReady()
{

    if(m_client.peerAddress().toString()!=targetAddr || m_client.peerPort()!=targetPort  )
    {
        targetAddr = m_client.peerAddress().toString();
        targetPort = m_client.peerPort();

        ui->recvEdit->insertPlainText(“[接受来自“+ targetAddr+“:“+QString(“%1“).arg(targetPort)+“]:\r\n“);

    }

    ui->recvEdit->moveCursor(QTextCursor::End);

    if(ui->hexRecv->isChecked())        //十六进制接收?
    {
          QByteArray data =  m_client.readAll();


          for(int i=0;i          {

              ui->recvEdit->insertPlainText(QString(“%1 “).arg((unsigned char)data[i]216QChar(‘0‘)).toUpper());

          }
          ui->recvEdit->insertPlainText(“\r\n“);
    }
    else
        ui->recvEdit->insertPlainText(QString::fromLocal8Bit(m_client.readAll())+“\r\n“);


}
void Widget::onClientBytesWritten(qint64 bytes)
{
    qDebug() << “onBytesWritten:“ << bytes;

    ui->sendLenLabel->setText(QString(“%1“).arg(ui->sendLenLabel->text().toInt()+bytes));

}

void  Widget::onClientErr(QAbstractSocket::SocketError socketError)
{
    qDebug()<<“onClientErr:“<
    m_client.close();
    startConnect(false);
    QMessageBox::information(this“提示“QString(“连接失败:%1“).arg((int)socketError)QMessageBox::Ok);
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2854  2019-08-09 15:07  tcpDemo\clenthandler.cpp

     文件        175  2019-08-07 15:12  tcpDemo\main.cpp

     文件       3242  2019-08-09 15:06  tcpDemo\serverhandler.cpp

     文件       1074  2019-08-07 15:53  tcpDemo\tcpDemo.pro

     文件       7671  2019-08-09 15:06  tcpDemo\widget.cpp

     文件       1380  2019-08-07 20:16  tcpDemo\widget.h

     文件      19960  2019-08-09 15:08  tcpDemo\widget.ui

     文件      90624  2016-12-01 18:52  tcpDemo演示程序\bearer\qgenericbearer.dll

     文件      82944  2016-12-01 18:53  tcpDemo演示程序\bearer\qnativewifibearer.dll

     文件    2106216  2010-05-26 11:41  tcpDemo演示程序\D3Dcompiler_43.dll

     文件      43520  2016-12-01 21:05  tcpDemo演示程序\iconengines\qsvgicon.dll

     文件      58880  2016-12-01 21:17  tcpDemo演示程序\imageformats\qdds.dll

     文件      33792  2016-12-01 18:54  tcpDemo演示程序\imageformats\qgif.dll

     文件      46592  2016-12-01 21:17  tcpDemo演示程序\imageformats\qicns.dll

     文件      36352  2016-12-01 18:54  tcpDemo演示程序\imageformats\qico.dll

     文件     258560  2016-12-01 18:53  tcpDemo演示程序\imageformats\qjpeg.dll

     文件      28672  2016-12-01 21:05  tcpDemo演示程序\imageformats\qsvg.dll

     文件      28672  2016-12-01 21:17  tcpDemo演示程序\imageformats\qtga.dll

     文件     495616  2016-12-01 21:18  tcpDemo演示程序\imageformats\qtiff.dll

     文件      27648  2016-12-01 21:18  tcpDemo演示程序\imageformats\qwbmp.dll

     文件     416768  2016-12-01 21:18  tcpDemo演示程序\imageformats\qwebp.dll

     文件      22016  2016-12-01 18:33  tcpDemo演示程序\libEGL.dll

     文件     120334  2015-12-29 06:25  tcpDemo演示程序\libgcc_s_dw2-1.dll

     文件    2801664  2016-12-01 18:33  tcpDemo演示程序\libGLESV2.dll

     文件    1540622  2015-12-29 06:25  tcpDemo演示程序\libstdc++-6.dll

     文件      79360  2015-12-29 06:25  tcpDemo演示程序\libwinpthread-1.dll

     文件   15220736  2014-09-23 18:36  tcpDemo演示程序\opengl32sw.dll

     文件    1724928  2016-12-01 18:56  tcpDemo演示程序\platforms\qwindows.dll

     文件    5401088  2019-08-07 20:20  tcpDemo演示程序\Qt5Core.dll

     文件    5282816  2016-12-01 18:41  tcpDemo演示程序\Qt5Gui.dll

............此处省略30个文件信息

评论

共有 条评论

相关资源