自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小米的修行之路

是日已过,命亦随减;如少水鱼,斯有何乐?当勤精进,如救头燃!但念无常,慎勿放逸。

  • 博客(783)
  • 资源 (62)
  • 收藏
  • 关注

原创 Windows7 + VS2017 + boost_1_70_0配置详解

1、下载boost_1_70_0.zip。下载地址:https://www.boost.org/users/history/version_1_70_0.html。2、将下载的安装包解压到指定的目录,我解压的目录为:D:\boost\boost_1_70_0。如下图:3、使用vs2017的命令行工具窗口进行编译:这里我们用《x64_x86交叉工具命令提示符 》工具。4、切换到目录...

2019-08-12 14:26:08 1065

原创 windows下Libevent的多线程封装(以文件传输为例)

1、主线程负责监听,子线程负责响应连接,同时每个子线程增加了链表来管理连接进来的客户端,将上一节中的内存管理类也封装进去。总体框架是不变的。2、封装类的实现:#pragma once#include "winsock2.h"#include "event2/listener.h"#include "event2/thread.h"#include "event2/bufferev...

2018-11-16 14:30:11 1606 2

原创 windows下Libevent +多线程(负载均衡分配法) 之文件传输

一、先说一下服务端的流程:1、主线程负责监听客户端的连接;2、当有客户端连接时,主线程通过管道向相应的子线程发送监听套接字描述符,子线程通过负载均衡法选择出来;3、当主线程发送监听描述符时,子线程的读管道回调函数会被回调;4、子线程为收到的监听描述符设置读取回调、写回调、事件回调等回调函数;5、子线程通过开启的事件循环,循环监听第4步的事件,并回调相应的回调函数。二、客户端...

2018-11-13 14:54:47 1798 4

原创 QT操作Oracle数据库(事务、存储过程)

QT操作Oracle数据库可以使用QODBC、QOCI两种驱动,这里使用QODBC驱动。在使用QOCI驱动操作oracle时,事务不能回滚,可能是我编译的QOCI驱动有问题,但是暂时没有找到原因。#ifndef QTTEST_H#define QTTEST_H#include <QtGui/QMainWindow>#include "ui_qttest.h"#inclu...

2018-10-23 10:44:39 2976

原创 QT通过ODBC驱动连接Oracle数据库

1)我是用的是qt4.8.6,里面是自带odbc驱动的,如果没有的话也可以进行编译,具体方法是:第一步,打开qt下的黑窗体;第二步,一次输入: 1、 cd C:\Qt\4.8.6\src\plugins\sqldrivers\odbc 2、qmake -o Makefile odbc.pro 3、nmake release或...

2018-10-22 18:48:29 6214 1

原创 QT4.8.6+Vs2010编译Oracle下的QOCI驱动

我使用的Oracle版本是32位的11g。1、打开qt下的黑框体工具 Qt 4.8.6 Command Prompt;2、依次输入如下命令,每输入依次按下回车:以上一共5条命令,注意最后一条命令,默认生成的是debug版本的驱动库,如果需要使用release版本的驱动库,需要把最后一句改为:nmake release 。经过以上命令后,我们就会在C:\Qt\4.8.6\src\...

2018-10-09 13:44:14 1235

原创 QT自绘带滚动条的Tab界面类的封装

一、原理:1、当拖动滚动条的滑块时,通过计算的拖动比例来拖动可视界面;2、可视界面的拖动通过移动绘图的坐标系来完成;3、点击Tab选项页时发送信号,传送其索引编号。 二、Tab界面类的封装:头文件:#ifndef ZZCLISTWIDGET_H#define ZZCLISTWIDGET_H#include &lt;QWidget&gt;#include &lt...

2018-08-13 19:19:55 1158 1

原创 QT中使用fontawesome-webfont.ttf字体库

1、fontawesome-webfont.ttf字体库中包含了很多图标,每个图标都对应一个编码,所以我们通过字体编码来加载所需要的图标。2、字体库的下载地址:http://www.bootcss.com/p/font-awesome/。下载完成后我们找到fontawesome-webfont.ttf文件,他是我们需要的字体库,我们可以将字体库加载到资源中引用;找到font-awesome.c...

2018-08-01 19:43:13 5540

原创 QT之系统托盘图标

理论摘自网友:https://blog.csdn.net/zhuyunfei/article/details/514338221.功能说明对于GUI程序,如果想要实现当最小化时,程序从任务栏消失,在系统托盘显示一个图标,表示此程序,并能在托盘内通过双击或者菜单使程序界面恢复。2.使用的类主要使用的此类:QSystemTrayIcon。 其中QSystemTrayIcon是主要操作...

2018-07-31 10:59:44 1816

原创 QT操作xml文件封装类(读、写、添加、删除)

#ifndef _XML_HANDLE_H#define _XML_HANDLE_H#include "Windows.h"#include &lt;shlwapi.h&gt;#include &lt;QtXml/QDomDocument&gt;#include &lt;QFile&gt;#include &lt;qDebug&gt;#pragma comment(lib, "...

2018-07-30 11:01:47 3895

原创 ADO:使用记录集对象Recordset 查询数据库中的数据

在 ADO 程序开发中,记录集对象 Recordset 对象代表一个表的记录集合或者是一个SQL命令或是存储过程的执行结果。简单的说,记录集实际上缓存了从数据库获得的记录,应用程序可以从记录集中获得每条记录的字段。①、记录集对象 Recordset 的属性:⑴ RecordCount 属性:返回记录集中记录的个数;⑵ BOF、EOF 属性:BOF 指示当前记录位置位于记录集对象的第一个记录之前;E...

2018-04-12 15:31:22 9284

原创 局域网远程操作Oracle数据库之服务端配置详解

服务端的监听配置我们使用Net Manager来进行:1.添加监听程序的名称(名称可以随意指定):2、添加监听地址和端口,地址是服务器的ip,端口采用1521。3、添加数据库服务:文件---保存网络设置!配置完后,测试发现客户端不能远程连接到服务器数据库,提示没有监听程序。应该是监听程序美誉启动,重启服务器解决。也有别的命令直接启动监听,也可以测试下,我这里没有测试,直接启动的服务器。...

2018-04-10 12:26:40 690

原创 局域网远程操作Oracle数据库之客户端配置详解

客户端的配置使用Oracle自带的Net Configuration Assistant和Net Manager都可以,这里使用第一种工具。主要是配置一个本地网络服务名。步骤如下:在这里我进行更改登录,测试还是未成功!不要紧,我们需要查看下tnsnames.ora文件:所在目录我这里是:D:\oracle\ora11g\product\11.2.0\dbhome_1\NETWORK\ADMIN。改...

2018-04-10 10:45:42 569

原创 使用远程线程进行DLL注入

/*原理:在目标进程中创建一个线程,让创建的线程载入自己的DLL*/void CInjectDLLDlg::OnBnClickedBtnThread(){ /*获得正在运行进程的句柄*/ HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_CREATE_THREAD | ...

2018-04-08 09:16:40 606

原创 Windows挂钩注入DLL

代码实现(被注入进程):private: DWORD m_dwId; HHOOK m_hHook; HMODULE m_hmDll;private: DWORD GetPIdByProcessName(const char* pszProcessName); BOOL InjectDllBySetWindowsHook(ULONG32 ulTargetProcessID,char* p...

2018-04-04 15:33:27 905

原创 使用动态库DLL导出类

首先创建一个DLL工程,名称为ServMgrDll,新建一个类,包含头文件ServConfig.h和cpp文件ServConfig.cpp。类的代码如下:.h:#pragma once/* 如果没有定义:ServConfigAPI,则ServConfigAPI定义为:_declspec(dllimport), 编译器就知道可执行源文件要从DLL模块中导入某些函数。*/#ifdef...

2018-04-02 16:18:06 2133 1

原创 CListView中OnTimer()函数只进入一次的问题

今天写一个服务自启程序,遇到了一个问题:在CListView中的OnTimer()函数,只进入一次就不进入了,经过百度查找到了原因:原来在CListCtrl中,基类的的OnTimer()会调用KillTimer,杀死你的定时器。1、下面是原因:SYMPTOMS If you call the SetTimer function to send periodic WM_TIMER messages ...

2018-03-29 08:44:02 799 3

原创 CListCtrl控件的自绘操作

1、CListCtrl控件 :OwnerDraw Fixed = True,创建一个CListCtrl类的派生类CMyListCtrl,同时创建一个CMyListCtrl控件类型变量:CMyListCtrl m_cList;。CListCtrl控件的自绘主要是CMyListCtrl类中重写DrawItem虚函数。流程:1.主对话框中CListCtrl的一些初始化操作:BOOL

2017-09-28 13:45:08 3188 5

原创 ComboBox控件自绘操作

一:1、设置ComboBox控件的属性:Has Strings = True, Owner Draw = variable或fixed,Tyle = Drop List。2、建立一个类:CMyComboBox,派生自:CComboBox,绑定关于CMyComboBox类的控件变量,并声明一个CImageList对象:// 构造public: CImageList m_imgList

2017-09-27 13:50:07 4333

原创 Button按钮控件自绘操作

1、首先为工程CButton类的派生类CMyButton,在CMyButton的头文件中添加一个用于保存图标的成员变量和一个设置函数:用来为按钮加载我们导入的图标。public: HICON m_hIcon; void SetIcon(UINT nIcon) { m_hIcon = AfxGetApp()->LoadIcon(nIcon); } //......2、在CMy

2017-09-26 08:47:10 1057

原创 对ListCtrl列表控件按列进行排序

新建一个对话框工程,拖一个列表控件,ID是IDC_LIST,属性是Report报表模式。在对话框的初始化函数OnInitDialog()中对列表框进行初始化,初始化为一个具有三列的列表框,分别为:编号、姓名、民族。然后在拖三个按钮。第一个按钮控制按列表控件的第一列进行循环排序;第二个按钮控制按列表控件的第二列名字的汉语拼音由大向小排列,第三个按钮控制按列表控件的第三列国家的ASCII码值由

2017-09-23 19:47:19 4276

原创 CListCtrl控件列表项和列表头图标的显示

1、为CListCtrl控件绑定一个控件变量:m_List。2、插入三个ICON作为列表项的图标显示,ID分别为:IDI_ICON1、IDI_ICON2、IDI_ICON3。插入两个Bitmap作为列表头图标的显示图标,ID分别为:IDB_BITMAP1、IDB_BITMAP2。3、基本步骤都是:1、Create创建图像列表; 2、向图像列表里添加多个图标; 3、将CImageList对象

2017-09-19 14:19:56 4485

原创 CPropertySheet和CPropertyPage实现标签分页

前面介绍了控件方式实现的向导模式和Tab模式。这里使用属性表和属性页的方式实现前面的功能,属性页用于与子页面窗口关联,属性表用于关联管理子页面窗口的父窗口。1、首先新建一个对话框程序,并插入3个子窗口(作为分页窗口),ID分别为:IDD_PAGE1、IDD_PAGE2、IDD_PAGE3,3个窗口设置的属性主要:Caption、style:child、ID等。注意:我们不需要插入父窗口,因为属

2017-09-13 10:59:47 1315

原创 标签控件Tab

1、创建一个对话框应用程序,并创建3个子对话框。ID分别为:IDD_PAGE1、IDD_PAGE2、IDD_PAGE3。设置属性:child、无边框。2、为三个对话框分别绑定一个类:CPage1、CPage2、CPage33、为tab控件绑定一个控件变量:m_tab4、在主对话框的头文件中定义3个对话框类的对象:class CTabCtrlDlg : public CDialogE

2017-09-12 10:26:59 672

原创 MFC---分页技术

分页技术是指父窗口中包含多个子窗口页面,我们通过点击上一页、下一页来进行页面的切换。1、新建一个对话框应用程序:“对话框分页”,并且新建3个对话框作为3个页面,设置3个对话框的属性:child、无边框 等。三个对话框的ID分别为:IDD_P1、IDD_P2、IDD_P32、将3个新建的对话框分别关联3个类:CPage1、CPage2、CPage33、头文件包含、新建三个类对象:#p

2017-09-10 20:37:31 2584

原创 关联容器------map与pair的使用

1、std::pair是二元组类模板,就是表示两种相互关联的事物,第一个叫做键,第二个叫做值,一个pair对象称为一个键值对。pair对象有两个变量,分别是first和second,调用first可以获取pair的键,调用second可以获取pair键所对应的值。我们既可以直接定义一个pair对象,也可以使用make_pair函数创建一个pair:std::pair a( 'a', 97 );

2017-09-09 10:52:33 2554

原创 高级编辑控件-CRichEditCtrl

高级编辑控件如图:相比较普通编辑控件,在高级编辑控件中,不同的文字和段落可以设置不同的字体和颜色。使用高级编辑控件,应首先在APP类的InitInstance()函数中添加如下代码:AfxInitRichEdit();设置必要的属性:Multiline、WantReturn 等,其它根据需要进行设置。高级编辑控件的使用如下例:CHARFO

2017-09-08 10:52:16 1798

原创 使用CDC的派生类进行绘图

由前面可知,要使用Win32的GDI绘图函数进行图形的绘制,都需要HDC的句柄来实现。MFC把GDI的绘图函数和HDC的句柄封装进了CDC类中,并且以CDC类为父类派生出了三个子类:CPaintDC、CClientDC、CWindowDC,所以在以后绘图时除了前面讲的直接使用句柄绘图,还可以使用这三个派生类进行绘图操作。这三个派生类分别对应客户区绘图、临时客户区绘图、非客户区绘图。如下图:

2017-09-07 12:57:12 660

原创 RGB宏详解

颜色类型变量COLORREF的定义如下:typedef  DWORD  COLORREF; 可知:COLORREF变量是一个双字,4个字节,32位的值。对应16进制是0x00bbggrr。补充:1个字节 = 8个二进制位(位);1个字 = 2个字节 = 16位;1个双字 = 2个字 = 4个字节 = 32位RGB宏颜色处理函数如下(引用别人的:点击打开链接):#define

2017-09-07 11:24:11 2699 2

原创 使用绘图句柄HDC在客户区、非客户区、临时客户区绘图

首先要知道对于一个窗体,什么是客户区,什么是非客户区。例如下面一个窗体:客户区是指:红色框框所围住的白色区域。非客户区是指:包括蓝色标题栏、蓝色边框、白色区域在内的整个窗体。1、客户区绘图:WM_PAINT是客户区显示更新消息,所有客户区绘图都要在此消息回调时绘制,也就是OnPaint()函数中进行绘制,以BeginPaint()开始,以EndPaint()结束。v

2017-09-07 09:09:56 3281

原创 fopen等:文本方式和二进制方式打开文件的区别

文本方式和二进制方式在读写文件时是有区别的,以下主要对Windows系统下的一些不同进行说明。第一:1、使用二进制方式进行读文件时,会原封不动的读出全部的内容,写文件的时候,会把内存缓冲区的内容原封不动的写到文件中。2、使用文本方式进行读文件时,会将回车换行符号CRLF(0x0D OxOA)全部转换成单个的换行符号LF(OxOA),写文件的时候,会将换行符号LF( OxOA)全部转换成

2017-09-04 14:23:49 24653 2

原创 逐行读取文件内容的三种方法

方法一:采用Getline函数ifstream in("1.txt"); string line; int i = 0; if(in) // 有该文件 { while (getline (in, line)) // line中不包括每行的换行符 { cout << line<<" "<<i++<<endl; } }

2017-08-28 22:38:35 7149

原创 CreateFile、ReadFile、WriteFile和fread、fwrite两种读写文件的方法

相关函数的使用可以查看MSDN上的说明文档。本文只提供实例。程序需包含:#include “Windows.h”文件方法一、采用:CreateFile、ReadFile、WriteFileDWORD dwFileSize = 0; BYTE* buffer = NULL; HANDLE hFile = INVALID_HANDLE_VALUE; hF

2017-08-27 11:50:08 4512

原创 图的两种最小生成树算法之C++封装

最小生成树定义:    给定一无向带权图,顶点数是n,要使图连通只需n-1条边,若这n-1条边的权值和最小,则称有这n个顶点和n-1条边构成了图的最小生成树(minimum-cost spanning tree)。两种最小生成树算法:1、prim算法:设图G顶点集合为U,首先任意选择图G中的一点作为起始点a,将该点加入集合V,再从集合U-V中找到另一点b

2017-08-02 23:19:13 4279 1

原创 图的邻接矩阵存储之C++封装

1、定义:图(Graph)是由顶点的有穷非空集合和顶点之间边的集合组成,通常表示为:G(V,E),其中,G表示一个图,V是图G中顶点的集合,E是图G中边的集合。2、由定义可知,图的邻接矩阵存储方式是用两个数据来表示。一个数据中存储图中顶点信息,另一个数据中(称为邻接矩阵)存储图中的边的信息。见下图:(图片来源于《大话数据结构》)                  3、图

2017-07-30 13:10:58 946

原创 CTime与COleDateTime时间操作类的使用

1、CTime类的常见使用获取当前时间:CTime time; time = CTime::GetCurrentTime();获取时间里面的各个元素: int year = time.GetYear() ; int month = time.GetMonth(); int day = time.GetDay(); int hour =

2017-07-26 18:02:03 1717

转载 MFC之CAsyncSocket详解

CAsyncSocket类是从Object类派生而来。CAsyncSocket对象称为异步套接字对象使用CAsyncSocket进行网络编程,可以充分利用Windows操作系统提供的消息驱动机制,通过应用程序框架来传递消息,方便地处理各种网络事件。另一方面,作为MFC微软基础类库中的一员,CAsyncSocket可以和MFC的其他类融为一体,大大扩展了网络编程的空间,方便了编程。

2017-07-26 14:48:55 18035 2

原创 C++实现图像的各种旋转操作

说明:Buffer中存放的是要进行旋转的原始图像,m_pImage中存放转换后的图像数据。      nHeight是图像的高度,我测试图像是1024;nWidth是图像的宽度,我测试图像是1400      nImageSize = nHeight*nWidth;unsigned char *m_pImage= new unsigned char[nIamgeSize]; Zero

2017-06-23 16:03:14 11208 3

原创 CFtpConnection之CreateDirectory、GetCurrentDirectory、SetCurrentDirectory的使用

FTP站点目录是C:\\Data,我们如何将本地文件上传到FTP服务器的C:\\Data\\data目录下?使用CreateDirectory、GetCurrentDirectory、SetCurrentDirectory函数就可以很好的实现。一下省略掉FTP其它的一些连接操作:方法一:CString strFtpPath,strUP; pFtpConnection->GetC

2017-06-15 16:42:03 4214 2

原创 CSingleLock使用方法

先上实例代码:class CDataArray{private: int iArray[10]; CMutex Mutex; CCriticalSection CritSection;public: CDataArray(){}; ~CDataArray(){}; void SetData(int iValue); void GetD

2017-04-11 15:34:04 12428

mqtt+VS2017+V141.zip

mqtt+VS2017+V141.zip

2021-11-25

ModelViewDemo.zip

ModelViewDemo.zip

2021-09-26

instantclient64位oracle免安装客户端.zip

64位的oracle11g免安装客户端

2021-08-20

PageSelect.zip

qt 分页查询

2021-08-05

C++ActiveMQDemo.rar

Vs2013编译的ActiveMQ库文件,64位的,包含Release版本和Debug版本

2021-01-26

ActiveMQ相关编译源程序.rar

ActiveMQ编译使用的相关源程序,全都打包好了,需要自己去编译

2021-01-26

instantclient_11_2.rar

instantclient_11_2.rar

2021-01-21

tinyxml.rar

解析XML文档的开源库

2021-01-06

信号槽开源库.rar

C++ 编写的轻量级 信号槽 开源库,老外的杰作 包含源码(头文件)和 使用说明。和一个简单的使用例子

2020-11-23

occi连接Oracle数据库——库文件.rar

occi连接Oracle数据库,包含dll、lib、h文件,不需要安装oracle客户端,采用occi方式连接

2020-06-10

opencv_4.3.0.rar

这是opencv4.3.0的源码包,需要自己编译,根据需要可以编译成32位和64位。切记需要自己用cmake进行编译

2020-04-15

zzc_libjpeg.rar

资源包含vs2010编译的64位和32位libjpeg库,vs2017编译的32位和64位libjpeg库。

2020-04-07

QLocalServer_QLocalSocket.rar

实现qt程序之间的进程间通信,采用的方式是QLocalServer和QLocalSocket.其方式是通过加载dll的方式。动态链接库里封装了服务端和客户端的功能。

2020-02-18

QT实现橡皮擦功能.rar

QT实现的,环境是QT Creater 4.10.1 对应的QT版本是qt5.13.2.实现的功能是打开图片,画笔功能,橡皮擦功能,保存图片

2020-02-13

ServerSyc.rar

代码非常详细,框架保证可用,自己亲自写的网络通信用的,如果有问题可以随时联系我,目前有一点小问题就是程序退出的时候,会有内存不能释放。

2020-01-14

zlib-1.2.11.tar.gz

下载的别人的挺好用的,传上来共享下。

2019-05-24

opencv2.4.4库(.h/.lib/.dll)

下载的大侠们请注意这不是opencv的安装程序,是opencv2.4.4使用时所需的库,包括.h/.lib/.dll文件,在VS中进行相关的配置后就可以使用opencv开发了。具体的配置方法详见本人的博客。

2019-02-22

Libevent学习资料(代码+文档)

里面有本人学习Libevent时使用过的文档,包括中文手册。还有本人写的基于Libevent多线程的服务器框架

2018-11-19

qt基于libev的多线程服务端

qt_eventdispatcher_libev 是基于 libev 的 Qt 事件调度器。 libev是高性能事件循环/事件模型的网络库,并且包含大量新特性。

2018-10-31

qt多线程服务器文件传输

qt实现的服务端,可以同时接收多个客户端的连接,同时接收多个客户端的文件传输任务。

2018-10-31

QT文件传输

qt实现的文件传输,程序既包含客户端又包含服务器端。。。

2018-10-17

QT tcp 聊天室

QT 实现的聊天室,基于tcp连接,功能:群聊、私聊、收发信息、收发文件。

2018-09-21

QT全局快捷键第三方开源库

QT的注册全局快捷键的第三方库,使用方法简单,自己使用过非常好用!

2018-07-31

qt截图工具

QT实现的截图软件,基本的截图功能,保存所接图片的功能

2018-06-04

Vs2010 + QT4.8.6 安装文件及配置详解

Vs2010 + QT4.8.6 安装文件及配置详解,里面的文档配置很全的。不过一下子上传不上来,还需要下载另外几个,我稍后传上来 qt-opensource-windows-x86-vs2010-4.8.6

2018-04-26

Vs2010 + QT4.8.6安装配置

Vs2010 + QT4.8.6 安装文件及配置详解,里面的文档配置很全的。

2018-04-26

CAsyncSocket和CSocket

使用CAsyncSocket和CSocket的一种通信模型,模型通信稳定,可以挪为己用。

2018-03-22

windows图像组件 wic_x86_chs.exe

windows图像组件,在2003服务器上安装vs2010旗舰版时是必须安装的

2018-01-24

批量图像增强工具

进行批量的图片的增强,自己测试的灰度图没有任何问题

2017-12-14

网络聊天室

基于Socket的网络聊天室,自定义消息长连接,模型值得学习

2017-12-14

CListBox自绘

自绘的实现,以此为基础画出自己的控件。实现自己的需求

2017-11-15

CTreeCtrl自绘

自绘的实现,以此为基础画出自己的控件。实现自己的需求

2017-11-15

CComboBox自绘

CComboBox自绘的实现,以此为基础画出自己的控件。实现自己的需求

2017-11-15

CMenu自绘实现

菜单自绘的实现,以此为基础,开发满足自己需求的各种功能的菜单

2017-11-15

ClistCtrl自绘

ClistCtrl控件进行自绘。以此为基础自绘自己的控件。开发自己的

2017-11-15

图片缩放工具

目前测试可以缩放灰度图片的大小。对于彩色图片没有进行测试

2017-11-13

账号管理的实现

两种代码,自定义结构体保存账号信息,使用CARCHIVE类保存账号

2017-11-13

画图软件的实现

采用图层软件架构实现的画图软件,你可以在此基础上不断的进行完善

2017-11-13

HTTP多线程下载

http实现的多线程下载。可以实现功能。作为学习HTTP的代码资料

2017-11-13

FTP通信的实现

基于FTP实现的文件的上传、下载、删除、等等操作。涉及到的

2017-11-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除