随笔分类 - Qt-Network
摘要:今天研究了一下QFtp这个类,发现访问得到的文件名称中一旦出现中文,不管怎么转换编码格式,最终显示出来的始终都是乱码。于是我深入地对这一现象进行了研究。这里先简单介绍一下我的分析过程: FTP服务器在收到List指令后,会把当前文件夹的所有项目(包括文件夹和文件的名称,大小,时间,所有者等相关信息)
阅读全文
摘要:通过IP地址定位地址,是要通过查询数据库,如果自己做一个这样的数据库工作量就比较大,所以在网上找了一个查询IP地址的网址,通过调用这个网址查询来实现,但是这个有一定的弊端,如果没有网络或者这个网址不可用时,就无法查询。具体代码如下: QEventLoop loop; QNetworkAccessMa
阅读全文
摘要:connect(manager, SIGNAL(finished(QNetworkReply*)), this, SLOT(onFinished(QNetworkReply*))); void MainClass::onFinished(QNetworkReply* reply){ int stat
阅读全文
摘要:以VS开发为例。因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作: 需要安装OpenSSL库: 1、首先打开http://slproweb.com/products/Win32OpenSSL.html网页; 2、下载安装包,我下载的是:Win32
阅读全文
摘要:目标,qt程序作为客户端,windows下winsock作为服务器端,实现两端通信。 开始时写了一个小函数测试: [cpp] view plaincopy QTcpSocket tmpSock; tcpSock.connectToHost("59.64.159.87",7716); tcpSock.
阅读全文
摘要:第一次接触Qt的Http项目,今天看了一下Post和Get的基本使用方法,就开始尝试了。原先以为Post专门用于向服务器发送请求,然后接收服务器应答的; 而Get只是单纯从服务器获取资源,比如下载这个网页,获得网页上存储的资源等。但是做项目的时候,测试的结果彻底地证明了我的天真和误解. 事实上,Po
阅读全文
摘要:因为https访问需要用到SSL认证,而QT默认是不支持SSL认证,所以在使用之前必须先做一些准备工作: 需要安装OpenSSL库: 1、首先打开http://slproweb.com/products/Win32OpenSSL.html网页; 2、下载安装包,我下载的是:Win32 OpenSSL
阅读全文
摘要:QtWebkit 模块使得Qt widget能够通过HTML的object标签嵌入到web页面中,并通过JavaScript代码进行访问,而Qt对象也能相应的访问web页面元素。 将Qt对象插入到web页面中 首先继承并实现QWebPluginFactory类 : 然后将其嵌入到HTML页面 中:
阅读全文
摘要://功能: 根据一个URL地址将数据保存到指定路径下,支持断点续传//参数: url --需要访问的URL地址// SavePath --需要保存的路径//DownedSize 已经下载的大小// totalSize 文件总大小//返回值: ture --成功 false --失败bool Http
阅读全文
摘要:客户端: void qt_boost::pbSendFileClicked(){ QString filename = ui.leFileName->text(); QByteArray ba = filename.toLatin1(); char * pfilename = ba.data();
阅读全文
摘要:获取主机名称/* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */QString CafesClient::get_localmachine_name(){ QString machineName = QH...
阅读全文
摘要:最近在学网络编程,想在windows下用Qt做个网络抓包工具,就要用到WinPcap,而我的电脑的系统是Win7 64位,qt版本是Qt 5.3.1 for Windows 64-bit (VS 2013, OpenGL),因此要在Win7 64位系统下配置Qt和WinPcap。 1、到http:/
阅读全文
摘要:上星期接了个私活,工期两星期,报酬3000,写一个小软件,采集定向网络上的数据,并进行双向通信,捣鼓了两天,终于把QT中tcp通信这块调通了,找过N多例子,绝大部分都是基本的一个服务端一个客户端通信的,而且都不完整,甚至有些还发完数据就关闭了,还是自己亲自操刀先做了个TCP小工具,基本的需求搞定。w...
阅读全文
摘要:今天来把坑填上。具体就是提供一个URL,并通过这个URL下载文件。MyDownloader.h:#ifndef MYDOWNLOADER_H#define MYDOWNLOADER_Hclass MyDownloader :public QObject{Q_OBJECTpublic://构造函数,要...
阅读全文
摘要:在Qt中,提供了多种IPC方法,作者所用的是QLocalServer和QLocalSocket。看起来好像和Socket搭上点边,实则底层是windows的name pipe。这应该是支持双工通信的。一 QLocalServer#ifndef VXMAINWINDOW_H#define VXMAIN...
阅读全文
摘要:TCP TCP是一个基于流的协议。对于应用程序,数据表现为一个长长的流,而不是一个大大的平面文件。基于TCP的高层协议通常是基于行的或者基于块的。 ●、基于行的协议把数据作为一行文本进行传输,每行都以一个换行符结尾。 ●、基于块的协议把数据作为二进制块进行传输,每块是由一个size大小字段和紧跟它的...
阅读全文
摘要:首先介绍一下WinPcapWinPcap是Windows下一个网络库,性能极其强悍而且能够接收各种包。大名鼎鼎的WireShark就是基于这个库开发的。那么这个库性能到底有多高呢。我测试了UDP包的接收,每包1400字节大小,WinPcap可以轻松接下4w包每秒(也就是将近430M带宽,更高的我没测...
阅读全文
摘要:封装了一个类,可以进行在局域网进行P2P通讯(仅局域网可用)也就是说,假设局域网中有10台电脑,那么从本机发出的数据,将依次派发到这10台电脑(目前的设计中包括自己这台)在使用方面,构造的时候给端口和一些参数,然后只需要管send槽和accepted信号就可以了特性/原理介绍:1.UDP搜索2.TC...
阅读全文
摘要:epoll相对于poll和select这两个多路复用的I/O模型更加的高效。epoll的函数很简单,麻烦的地方在于水平触发和边沿触发。用张图来说明下ET(边沿)只是在状态反转时触发,比如从不可读到可读。而LT(水平)就是如果可读,就会一直触发。所以在使用ET的时候要做一些额外的处理,比如可读的,一直...
阅读全文
摘要:在Qt中,进行HTTP就行现在官方提倡使用QNetworkAccessManager,其和QNetworkRequest和QNetworkReply配合使用,来完成,其是只支持异步的操作。最近使用QML做些Android的小程序,需要进行HTTPS的操作,开始是使用的JS中的XMLHttpReque
阅读全文