资源简介
多线程通信,QT5.11.1,多线程TCP服务器,多线程连接客户端。QThread
代码片段和文件信息
#include “DispatcherThread.h“
#include
#include
DispatcherThread::DispatcherThread(Qobject *parent):
QThread(parent)
{
this->moveToThread(this);
}
DispatcherThread::~DispatcherThread()
{
delete m_tcpSocket;
}
void DispatcherThread::setSocketDescriptor(qintptr sockFd)
{
socketDescriptor = sockFd;
}
void DispatcherThread::readData()
{
qDebug()<
//读取缓冲区数据
QByteArray buffer = m_tcpSocket->readAll();
QString msg = buffer;
qDebug()<<“>>>>receive stringData:“< emit updateMsg( m_tcpSocket->peerAddress().toString()+ “_“ + QString::number(m_tcpSocket->peerPort())msg);
QJsonobject jsonobject = QJsonDocument::fromJson(buffer).object();
jsonobject.insert(“socketDescriptor“socketDescriptor);
emit updateMsg(jsonobject);
qDebug()<<“>>>>receive jsonData:“<ject;
return;
}
void DispatcherThread::slotDisconnected()
{
qDebug()< qDebug()<>>>disconnect to: %1“).arg(m_tcpSocket->peerAddress().toString());
exit(0);
emit closeMe(this);
}
void DispatcherThread::writeData(int sptr QJsonobject json)
{
if(sptr == socketDescriptor)
{
qDebug()<<“###########“< QByteArray byte_array = QJsonDocument(json).toJson();
byte_array.append(“$$\n“);
m_tcpSocket->write(byte_array);
qDebug()< }
}
void DispatcherThread::run()
{
qDebug()< m_tcpSocket = new QTcpSocket;
m_tcpSocket->setSocketDescriptor((qintptr)socketDescriptor);
connect(m_tcpSocketSIGNAL(readyRead())thisSLOT(readData()));
connect(m_tcpSocketSIGNAL(disconnected())thisSLOT(slotDisconnected()));
setAddressIp(m_tcpSocket->peerAddress().toString());
emit updateClient(addressIp);
this->exec();
}
QString DispatcherThread::getAddressIp() const
{
return addressIp;
}
void DispatcherThread::setAddressIp(const QString &value)
{
addressIp = value;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 515 2018-12-02 18:04 SeverProject\configure.ini
文件 2155 2018-12-05 19:41 SeverProject\DispatcherThread.cpp
文件 866 2018-12-05 15:31 SeverProject\DispatcherThread.h
文件 4703 2018-12-02 17:51 SeverProject\IMSGlobal.cpp
文件 2328 2018-12-02 16:21 SeverProject\IMSGlobal.h
文件 185 2017-10-23 13:56 SeverProject\main.cpp
I.A.... 17904 2018-12-05 19:41 SeverProject\PlcClient.cpp
I.A.... 1469 2018-12-05 16:30 SeverProject\PlcClient.h
I.A.... 3002 2018-12-05 15:17 SeverProject\Robotba
I.A.... 651 2018-12-05 15:13 SeverProject\Robotba
文件 4067 2018-12-05 19:41 SeverProject\RobotThread.cpp
文件 965 2018-12-05 19:30 SeverProject\RobotThread.h
I.A.... 2327 2018-12-05 18:50 SeverProject\server.cpp
I.A.... 1001 2018-12-05 17:02 SeverProject\server.h
I.A.... 1296 2018-12-05 19:30 SeverProject\SeverProject.pro
文件 23921 2018-12-05 17:48 SeverProject\SeverProject.pro.user
I.A.... 4084 2018-12-05 19:37 SeverProject\severwindow.cpp
I.A.... 887 2018-12-05 19:30 SeverProject\severwindow.h
文件 6427 2018-12-02 20:22 SeverProject\severwindow.ui
目录 0 2018-12-05 19:44 SeverProject
----------- --------- ---------- ----- ----
78753 20
相关资源
- QT串口,重点解决了串口接收数据分包
- Qt点线效果源码
- 图像识别检测人数
- QT编写的Socket工具,TCP 以及 UDP 可建立
- Qt 读取Excel单元格中的数据
- Qt 自定义QPushButton样式表(实时生成
- Qt With WindowsCmd命令行.zip
- QtMineSweep-master.rar
- Qt基于libzplay库的音乐播放工具
- Qt 中读写Excel
- Qt TCP 聊天软件
- QT开发的串口通讯软件(基于qextseri
- 利用QT5.8与opencv3.2做的照片融合
- 用qt设计的显示温度的
- Qt文件或文件夹拷贝
- TCP通信Qt源码
- qt画图程序
- 上位机发送FINS TCP命令读写PLC数据
- qt 分页显示
- 客户与服务器程序的同步与通信机制
- gameServer
- 基于Qt的HTTP服务器
- QTreeWidget基础操作代码
- Qt4.8.2 模仿QQ桌面右下角消息提示
- QJson使用VS2010+QT4.8编译
- tcpClientAndServerTools v1.0.0.rar
- Qt实现全局观察者模式多层窗体之间直
- 用QT做的LINUX下串口通信测试可用
- Qt智能聊天机器人源码
- 基于Delphi的MQTT协议实现(使用INDY无三
评论
共有 条评论