先看服务端

#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 简单示例相关推荐

  1. Qt之QTcpServer/QTcpSocket简单收发信息(1)

    用QT包装好的东西做socket类东西,我只能说啥这么简单呢. waitForConnected() 等待链接的建立 waitForReadyRead() 等待新数据的到来 waitForBytesW ...

  2. Qt之QTcpServer/QTcpSocket简单收发信息(2)

    (1)篇里面代码没完全贴出,有些同学说没看明白.今天又闲的蛋疼,无聊弄个服务端跟客户端整在一个程序上的例子. 代码跟一篇有点相同,但是又有点不同.先贴出效果图... 为了效果明显,我一个在linux ...

  3. python文本处理实例_Python 文件处理的简单示例

    这篇文章主要为大家详细介绍了Python 文件处理的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 相关的AP ...

  4. python获取mac、计算机id_python 获取本机IP、mac地址、计算机名的简单示例

    这篇文章主要为大家详细介绍了python 获取本机IP.mac地址.计算机名的简单示例,具有一定的参考价值,可以用来参考一下. 对python获取本机IP.mac地址.计算机名感兴趣的小伙伴,下面一起 ...

  5. python简单单元测试示范卷_Python 单元测试的简单示例

    这篇文章主要为大家详细介绍了Python 单元测试的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 以前我是不 ...

  6. python二分法求解_Python使用二分法求平方根的简单示例

    这篇文章主要为大家详细介绍了Python使用二分法求平方根的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! 使 ...

  7. Unity 简单示例代码和向导/Unity Aplication Block

    Unity 简单示例代码和向导 关于Unity 的说明和下载地址,请访问[微软控制反转和依赖注入容器Unity 1.0发布] http://forum.entlib.com/Default.aspx? ...

  8. php定时刷新token,PHP 定时任务获取微信access_token的简单示例

    搜索热词 感兴趣PHP 定时任务获取微信access_token的简单示例的小伙伴,下面一起跟随编程之家 jb51.cc的小编来看看吧. 最近开发微信公众平台,公众号调用各接口时都需使用access_ ...

  9. python 搭建的http 动态服务器_Python 创建HTTP服务器的简单示例

    这篇文章主要为大家详细介绍了Python 创建HTTP服务器的简单示例,具有一定的参考价值,可以用来参考一下. 对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! ...

最新文章

  1. Emmet:HTML/CSS代码快速编写规范(转发)
  2. sourceTree 的使用教程
  3. win定时关机_如何设置电脑定时关机?电脑新手有必要掌握一波!
  4. R语言——导入Excel表格数据方法
  5. DP备份任务失败原因解析
  6. c++求n次方_课时9一元二次方程及其应用
  7. 前端性能优化之 gzip+cache-control
  8. 【PSD分层海报模板素材】快乐开学季 敬爱教师节!
  9. 虚拟机和实体服务器怎样连接,服务器实体机与虚拟机
  10. 7.4 集合及其内置方法
  11. angular页面打印局部功能实现方法思考
  12. 父子类中静态方法和属性实现
  13. 中国粮食安全问题及其应对措施
  14. 地球同步、地球静止、半同步、太阳同步、极地、莫尼亚轨道阐释
  15. delphi dbgrideh 行合并_如何轻松快速地合并FLV
  16. java color 棕色,接近黑色的染发颜色 低调但是显气色的发色
  17. 【Android 源码学习】SharedPreferences 源码学习
  18. 在微信中怎么打开微信运动?福利干货!如何在微信中开启微信运动记录每天运动步数?
  19. MacOs使用IDEA自带的maven教程
  20. 微信小程序 | 证件照制作小程序源码下载

热门文章

  1. 2020年推荐系统工程师炼丹手册RecSys-Long Paper版
  2. 一个程序猿和非程序猿都会关注的重大事件
  3. 未来:万物皆互联、全民皆社交,人人都是马化腾
  4. VOA AGRICULTURE REPORT - Two Efforts Seek to Increase Food Security in Africa
  5. 白鹭引擎开发飞机大战详尽教程(四控制飞机移动)
  6. LYNC2013部署系列PART10:后端高可用部署
  7. 解读Raw Socket
  8. 彩信手机报受代表好评
  9. linux常用命令(1)帮助命令man使用
  10. git http仓库账号密码缓存至本地:不用每次git push都需要输入密码的方法(类似于windows的凭据管理)