QTcpServer / QTcpSocket 简单示例
先看服务端
#include <QObject>
#include <QTcpServer>
#include <QTcpSocket>class CTcpServer : public QObject
{Q_OBJECT
public:explicit CTcpServer(QObject *parent = 0);~CTcpServer();private slots:void onNewConnection();void onReadMessage();private:void _writeData(QString data);
private:QTcpServer * m_pTcpServer;QTcpSocket * m_pTcpSocket;
};
源文件
CTcpServer::CTcpServer(QObject *parent) : QObject(parent)
{m_pTcpServer = new QTcpServer();m_pTcpServer->listen(QHostAddress::Any,1122);connect(m_pTcpServer,&QTcpServer::newConnection,this,&TLTcpServer::onNewConnection);
}void CTcpServer::onNewConnection()
{m_pTcpSocket = m_pTcpServer->nextPendingConnection();connect(m_pTcpSocket,&QTcpSocket::readyRead,this,&CTcpServer::onReadMessage);
}void CTcpServer::onReadMessage()
{QByteArray ba = m_pTcpSocket->readAll();}void CTcpServer::_writeData(QString data)
{QByteArray array = data.toStdString().c_str();m_pTcpSocket->write(array,strlen(array));
}
客户端
#include <QObject>
#include <QTcpSocket>class CTcpSocket : public QObject
{Q_OBJECT
public:explicit CTcpSocket(QObject *parent = 0);~CTcpSocket();void setHostAddr(QString hostAddr);//设置服务端ip地址void setSendData(QByteArray data);
private slots:void onReadyRead();
private:QTcpSocket * m_pTcpSocket = NULL;
};
源文件
CTcpSocket::CTcpSocket(QObject *parent) : QObject(parent)
{m_pTcpSocket = new QTcpSocket();
connect(m_pTcpSocket,&QTcpSocket::readyRead,this,&CTcpSocket ::onReadyRead);
}CTcpSocket::~CTcpSocket()
{delete m_pTcpSocket;
}void CTcpSocket::onReadyRead()
{ QByteArray ba = m_pSocket->readAll();qDebug() << "tcpSocket::onReadyRead() ba="<<ba;
}
void CTcpSocket::setHostAddr(QString hostAddr)
{m_pTcpSocket->connectToHost(hostAddr,5678);if(!m_pTcpSocket->waitForConnected()){qDebug() << "Rcontrol socket connect error";}else{qDebug() << "Rcontrol socket connect success";}
}void CTcpSocket::setSendData(QByteArray data)
{m_pTcpSocket->write(data);m_pTcpSocket->flush();
}
QTcpServer / QTcpSocket 简单示例相关推荐
- Qt之QTcpServer/QTcpSocket简单收发信息(1)
用QT包装好的东西做socket类东西,我只能说啥这么简单呢. waitForConnected() 等待链接的建立 waitForReadyRead() 等待新数据的到来 waitForBytesW ...
- Qt之QTcpServer/QTcpSocket简单收发信息(2)
(1)篇里面代码没完全贴出,有些同学说没看明白.今天又闲的蛋疼,无聊弄个服务端跟客户端整在一个程序上的例子. 代码跟一篇有点相同,但是又有点不同.先贴出效果图... 为了效果明显,我一个在linux ...
- python文本处理实例_Python 文件处理的简单示例
这篇文章主要为大家详细介绍了Python 文件处理的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 相关的AP ...
- python获取mac、计算机id_python 获取本机IP、mac地址、计算机名的简单示例
这篇文章主要为大家详细介绍了python 获取本机IP.mac地址.计算机名的简单示例,具有一定的参考价值,可以用来参考一下. 对python获取本机IP.mac地址.计算机名感兴趣的小伙伴,下面一起 ...
- python简单单元测试示范卷_Python 单元测试的简单示例
这篇文章主要为大家详细介绍了Python 单元测试的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 以前我是不 ...
- python二分法求解_Python使用二分法求平方根的简单示例
这篇文章主要为大家详细介绍了Python使用二分法求平方根的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 使 ...
- Unity 简单示例代码和向导/Unity Aplication Block
Unity 简单示例代码和向导 关于Unity 的说明和下载地址,请访问[微软控制反转和依赖注入容器Unity 1.0发布] http://forum.entlib.com/Default.aspx? ...
- php定时刷新token,PHP 定时任务获取微信access_token的简单示例
搜索热词 感兴趣PHP 定时任务获取微信access_token的简单示例的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧. 最近开发微信公众平台,公众号调用各接口时都需使用access_ ...
- python 搭建的http 动态服务器_Python 创建HTTP服务器的简单示例
这篇文章主要为大家详细介绍了Python 创建HTTP服务器的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...
最新文章
- Emmet:HTML/CSS代码快速编写规范(转发)
- sourceTree 的使用教程
- win定时关机_如何设置电脑定时关机?电脑新手有必要掌握一波!
- R语言——导入Excel表格数据方法
- DP备份任务失败原因解析
- c++求n次方_课时9一元二次方程及其应用
- 前端性能优化之 gzip+cache-control
- 【PSD分层海报模板素材】快乐开学季 敬爱教师节!
- 虚拟机和实体服务器怎样连接,服务器实体机与虚拟机
- 7.4 集合及其内置方法
- angular页面打印局部功能实现方法思考
- 父子类中静态方法和属性实现
- 中国粮食安全问题及其应对措施
- 地球同步、地球静止、半同步、太阳同步、极地、莫尼亚轨道阐释
- delphi dbgrideh 行合并_如何轻松快速地合并FLV
- java color 棕色,接近黑色的染发颜色 低调但是显气色的发色
- 【Android 源码学习】SharedPreferences 源码学习
- 在微信中怎么打开微信运动?福利干货!如何在微信中开启微信运动记录每天运动步数?
- MacOs使用IDEA自带的maven教程
- 微信小程序 | 证件照制作小程序源码下载
热门文章
- 2020年推荐系统工程师炼丹手册RecSys-Long Paper版
- 一个程序猿和非程序猿都会关注的重大事件
- 未来:万物皆互联、全民皆社交,人人都是马化腾
- VOA AGRICULTURE REPORT - Two Efforts Seek to Increase Food Security in Africa
- 白鹭引擎开发飞机大战详尽教程(四控制飞机移动)
- LYNC2013部署系列PART10:后端高可用部署
- 解读Raw Socket
- 彩信手机报受代表好评
- linux常用命令(1)帮助命令man使用
- git http仓库账号密码缓存至本地:不用每次git push都需要输入密码的方法(类似于windows的凭据管理)