-
大小: 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个文件信息
评论
共有 条评论