Qt-网络编程
文章平均质量分 65
亭台六七座
大圣,此去欲何?踏南天,碎凌霄。若一去不回...?便一去不回!
展开
-
Qt简单UDP代码
receiver = new QUdpSocket(this); receiver->bind(QHostAddress::LocalHost, 16665); connect(receiver, SIGNAL(readyRead()),this, SLOT(readPendingDatagrams()));void Widget::readPendingDatagra原创 2017-07-18 21:56:09 · 692 阅读 · 0 评论 -
Qt编写邮件发送大概步骤
第一步:布局好界面,控件命名好,建议用pascal命名法。第二步:准备好sendemailapi文件夹,里面存放的公开的第三方的支持发送附件和富文本的MIME协议文件。添加到项目中。第三步:实例化邮件发送对象 SmtpClient smtp(ui->cboxServer->currentText(), ui->cboxPort->curr转载 2017-11-18 11:23:35 · 3488 阅读 · 1 评论 -
Qt 串口类QSerialPort 使用笔记
Qt 串口类QSerialPort 使用笔记 虽然现在大多数的家用PC机上已经不提供RS232接口了。但是由于RS232串口操作简单、通讯可靠,在工业领域中仍然有大量的应用。Qt以前的版本中,没有提供官方的对RS232串口的支持,编写串口程序很不方便。现在好了,在 Qt5.1 中提供了QtSerialPort模块,方便编程人员快速的开发应用串口的应用程序。 本文就简单的讲讲QtSe转载 2017-12-08 08:08:30 · 452 阅读 · 0 评论 -
初次使用QT5串口类QSerialPort
我这里主要是对串口类的简单使用,实现的功能是以读写方式打开串口,点击发送数据按钮将发送区的数据发送到缓冲区,然后在接收区显示出来,界面如下:(源码可以在这里下载) 这里使用了QSerialPort模块提供的两个类:QSeri转载 2017-12-08 08:24:01 · 18079 阅读 · 3 评论 -
QT modbus类简介及串口modbus例程源码分析
1.Qt中几个常用的串口modbus类QModbusRtuSerialSlave //modbus串口通信方式下的服务器类QModbusRtuSerialMaster //串口通信方式下的客户端类QModbusServer // QModbusServer类接收和处理modbus的请求。QModbus转载 2017-12-08 08:34:03 · 13706 阅读 · 3 评论 -
QT串口编程的相关类(QSerialPortInfo)
QT Serial Port相关的类只有两个QSerialPortInfo(#include) 和QserialPort(#include)先来介绍QSerialPortInfo1:QSerialPortInfo(#include) 该类是一个串口的辅助类类,提供主要是提供系统已经存在串口的信息。该类中的静态函数(QList availablePorts()后面详细转载 2017-12-08 08:36:24 · 1216 阅读 · 0 评论 -
自学Qt之路——串口编程(使用第三方提供的类)
第三方提供的类,下载到的文件为qextserialport-1.2win-alpha,qextserialbase.cpp和qextserialbase.h文件定义了一个QextSerialBase类,win_qextserialport.cpp和win_qextserialport.h文件定义了一个Win_QextSerialPort类,posix_qextserialport.cpp和posi转载 2017-12-08 09:19:30 · 570 阅读 · 0 评论 -
自学Qt之路——串口编程(使用自带Qt库)
之前学习嵌入式驱动,做一个红外摄像头的项目,在操作系统之上直接操作LCD显示屏,显示图像。后来听说Qt能够跨平台,跨window,Android,Linux三个平台,而且做项目必须有个图形界面,看起来高大上。之后根据这个项目需要,自学Qt5.6,写个博客记录一下自己学习过程。之前看过Qt的基本操作,一些类的用法,还有信号与槽的机制。开始着手项目,首先是串口通信。通过万能的度娘,发现转载 2017-12-08 09:21:04 · 577 阅读 · 0 评论 -
Qt获取网页源码
1、在工程pro文件中添加如下代码:QT += network2、添加头文件#include #include #include #include #include 3、cpp主要代码#define URLSTR "http://www.baidu.com" //网页地址#define FILE_NAME "code.txt" //储存网页源码的原创 2018-01-06 09:47:11 · 2240 阅读 · 0 评论 -
C++实现软件自动更新功能
软件时常需要更新,如果通过在线通知用户肯定会更方便,实现原理也很简单,通过获取服务器文件中版本号与软件自身版本号对比,给出提示。下面把实现的代码(C++)贴出来,供大家参考。0.用到的头文件12#include #pragma comment(lib, "WS2_32") // 链接到WS2_32.lib转载 2018-01-10 08:25:35 · 12100 阅读 · 2 评论 -
Qt之WebSockets
简述WebSocket 是一个基于 Web 的协议,旨在使 client 应用程序和远程主机之间进行双向通信。如果最初的握手成功,则两个实体可以来回发送数据。WebSocket 是通过用更少的网络延迟和最小数据交换来努力获取实时数据的应用程序解决方案。简述优点工作原理使用方式典型用例Qt WebSockets 的角色Qt WebSockets 与 Cloud Services相关信息优点Qt We...转载 2018-03-24 22:13:11 · 3014 阅读 · 0 评论 -
WebSocket的简单使用
WebSocket一种在单个 TCP 连接上进行全双工通讯的协议。WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端直接向客户端推送数据而不需要客户端进行请求,在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并允许数据进行双向传送。——- 《维基百科》最近在项目中使用了WebSocket,开发了一个非常简单的服务器...转载 2018-03-24 22:16:29 · 700 阅读 · 0 评论 -
Qt QWebsocket连接断开代码
enum CloseCode{ CloseCodeNormal = 1000, //1000 表示正常关闭,意思是建议的连接已经完成了 CloseCodeGoingAway = 1001, //1001表示端点...转载 2018-03-24 22:24:51 · 2561 阅读 · 0 评论 -
QT中的SOCKET的通信
1、服务端程序 [cpp] view plain copy //ui_widget.h #ifndef UI_WIDGET_H #define UI_WIDGET_H #include <QtCore/QVariant> #include <QtGui/QActio...转载 2018-03-24 22:35:07 · 4760 阅读 · 0 评论 -
QT5.5 发送忘记密码邮件
[cpp] view plain copy"font-size:18px;">//之前一直发送不成功,后来只好发送给自己,然后再转发才OK void createRandPwd() { QStringList m_slCodeRange; m_slCodeRange"0""1""2""3""4""5""6""7""8""9"转载 2017-11-18 11:21:10 · 1977 阅读 · 0 评论 -
Qt5.5 使用smtp发邮件的各种坑
本人刚开始学习C++,用的是Qt5.5的IED,经过了两天的学习和查找资料,终于成功发了第一封邮件。以163邮箱为例,简单总结一下。 1、设置邮箱这一步比较关键,要开通smtp服务,在开通的过程中会让你输入一个邮箱客户端授权码,这个才是你后面要用到的密码,而不是你登陆邮箱的密码; 2、找代码也许你会问我,为什么不自己写呢?还是不太懂smtp,转载 2017-11-18 11:19:53 · 1913 阅读 · 0 评论 -
QT程序打开网页
1.QT程序打开网页的方法 /* 方法一*/ QDesktopServices::openUrl(QUrl(QString("www.baidu.com"))); QUrl url(QString("www.baidu.com")); bool is_open = QDesktopServices::openUrl(url); /*方法转载 2017-11-03 21:11:57 · 7338 阅读 · 0 评论 -
C++网络编程(二)--客户端服务器程序
这是一个基于windows的,用C++编写的客户端服务器程序,适合初学者,高手误入.源码必共享思路是这样的.启动服务器,服务器启动后会创建一个子线程,用于向客户端发送信息.用一个死循环用于接收客户端的请求,客户端请求成功后,会将客户端的连接保存到一个集合中,下面会详细介绍这个保存客户端连接的类.客户端连接成功后,服务器会创建一个子线程用于接收客户端的信息,客户端同样也会创建一个子线程接收服转载 2017-07-24 09:13:28 · 759 阅读 · 0 评论 -
QT类似于QQ的即时聊天程序用开发QTcpServer,QTcpSocket简单开发
时间不代表你拥有多少,而在于你如何实用。好了正文开始:----------------------------------------------------------------------------------------------------------华丽的分割线-----------------------------------------------转载 2017-10-14 23:35:03 · 940 阅读 · 0 评论 -
Qt网络编程之QNetworkReply
Qt网络编程之QNetworkReply注意:这个类中的所有函数都是可重入的。这个类是从Qt4.4引入的。详细描述: QNetworkReply 类包含了发送给QNetworkManager的数据和首部。QNetworkReply类包含了发送给QNetworkAccessManager请求的所有应答数据。和QNetworkRequest类似,这些数据包含了一个转载 2017-11-02 11:47:22 · 2002 阅读 · 0 评论 -
QT POST/GET 发送/获取网页数据
#include #include QNetworkAccessManager *m_accessManager;1234Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); m_accessManager = new QNet转载 2017-11-02 11:46:41 · 869 阅读 · 0 评论 -
Qt HTTP POST json 访问服务器
form格式访问服务器QByteArray postArray;postArray.append("grant_type=authorization_code");postArray.append("&client_id=32u2w95f200D4d27");postArray.append("&client_secret=37vH35Eg028P2HZz");postArray.ap转载 2017-11-02 11:51:30 · 4459 阅读 · 0 评论 -
Qt实现Rasdial宽带拨号
最近,由于项目需求,需要通过不断拨号来实现切换ip。 当然,最简单的方法就是使用Rasdial来进行拨号。 一开始是采用双管道方法来做,但是会出现黑框框。然后我就想用 ShellExecuteA 函数来实现,通过采用 SW_HIDE显示方式来隐藏黑框框。 那么又出现了一个问题。因为不能再用双管道方法了,那么怎么知道连接结果呢? 我的想法就是把system命令运行结果输出到文件中,再把数据读取出来。转载 2017-11-13 09:51:30 · 409 阅读 · 0 评论 -
再谈Qt实现Rasdial拨号问题(说说项目中遇到的问题和解决方案)
上一篇 Qt实现Rasdial宽带拨号 讲解了下最简单的宽带拨号方式。但是在实际项目开发中,发现,这种做法是不好的。效率低,有时拨号失败。而且上一回。我们是采用异步拨号来实现,这个做法是不行的。我们需要实现同步拨号。 那么我们应该借助api函数: DWORD WaitForSingleObject( HANDLE hHandle, DWORD dwMillise转载 2017-11-13 09:52:47 · 324 阅读 · 0 评论 -
Qt之进程间通信(QProcess)
简述QProcess可以在应用程序内部与其它进程通信,或启动其它应用程序。与在终端机之类的命令输入窗口上使用名称和参数是一样的,可以使用QProcess提供的函数start()启动进程。可以注册QStringList处理进程后的参数。简述命令行参数启动说明实现命令行读取说明实现更多参考命令行参数启动转载 2017-11-13 10:12:00 · 1571 阅读 · 0 评论 -
Qt之进程间通信(IPC)
简述进程间通信,就是在不同进程之间传播或交换信息。那么不同进程之间存在着什么双方都可以访问的介质呢?进程的用户空间是互相独立的,一般而言是不能互相访问的,唯一的例外是共享内存区。但是,系统空间却是“公共场所”,所以内核显然可以提供这样的条件。除此以外,那就是双方都可以访问的外设了。在这个意义上,两个进程当然也可以通过磁盘上的普通文件交换信息,或者通过“注册表”或其它数据库中的某些表项和记录转载 2017-11-13 10:14:49 · 922 阅读 · 0 评论 -
Qt之进程间通信(TCP/IP)
简述可以通过Qt提供的IPC使用TCP/IP,使用QtNetwork模块即可实现,TCP/IP在实现应用程序和进程内部通信或与远程进程间的通信方面非常有用。QtNetwork模块提供的类能够创建基于TCP/IP的客户端与服务端应用程序。为实现底层的网络访问,可以使用QTcpSocket、QTcpServer和QUdpSocket,并提供底层网络类。还提供了使用常规协议实现网络操作的QNet转载 2017-11-13 10:16:52 · 689 阅读 · 0 评论 -
Qt之进程间通信(共享内存)
简述上一节中,我们分享下如何利用Windows消息机制来进行不同进程间的通信。但是有很多局限性,比如:不能跨平台,而且必须两个进程同时存在才可以,要么进程A发了消息谁接收呢?下面我们来分享另外一种跨平台的进行间通信的方式-Shared Memory(共享内存)。Qt提供的基于共享内存的IPC有QSharedMemory类和QSystemSemaphore类,QS转载 2017-11-13 10:18:54 · 574 阅读 · 0 评论 -
Qt之进程间通信(Windows消息)
简述通过上一节的了解,我们可以看出进程通信的方式很多,今天分享下如何利用Windows消息机制来进行不同进程间的通信。简述效果发送消息自定义类型与接收窗体发送数据接收消息设置标题重写nativeEvent更多参考效果发送消息自定义类型与接收窗体包含所需库,定义发送的自定义类型、接收消息的转载 2017-11-13 10:20:46 · 1429 阅读 · 0 评论 -
Qt之启动外部程序
简述QProcess可以用来启动外部程序,并与它们交互。要启动一个进程,通过调用start()来进行,参数包含程序的名称和命令行参数,参数作为一个QStringList的单个字符串。另外,也可以使用setProgram()和setArguments()来运行,然后调用start()或open()。简述接口示例cmd启动cmdcmd带参转载 2017-11-13 10:26:58 · 359 阅读 · 1 评论 -
使用QWebEngine实现简单的浏览器
使用QWebEngine实现了一个简单的浏览器。只有后退、前进、刷新功能,也不能说是实现,应该说是QWebEngine提供了该功能,这里仅仅调用而已。经测试QWebEngine在Qt5.9.1版本下,貌似仅支持MSVC编译,不支持minGW和安卓方式。界面如图。增加模块引用QT += webenginewidgets控件布局: for(int i=0;i<5;i++) ...原创 2018-03-26 20:30:43 · 3825 阅读 · 0 评论