09 2022 档案
摘要:这里只对fdfs_upload_file进行改造,至于其他的也是一样的原理: 在进行fdfs_upload_file的时候,如果是程序中需要实现这个功能,一种方法是使用子进程的逻辑直接调用该程序,这种处理方式需要一个临时文件,而且还需要进程的创建销毁。 另外一种思路是直接参考fdfs_upload_
阅读全文
摘要:就是使用openssl的md5接口进行了一个简单的封装: openssl_md5.h #ifndef OPENSSL_MD5_H #define OPENSSL_MD5_H #define INPUT_BUFFER_SIZE 100 * 1024 int getMd5Str(const char*
阅读全文
摘要:spawn-fcgi与fcgi 原理有两点: 子进程会继承父进程打开的文件描述符资源,从而将spawn-fcgi打开的监听套接字传递给fcgi;利用宏定义重新架构fcgi的标准输入输出,从而将标准输入输出转变为对文件描述符的读写操作; 代码实现 spawn-fcgi创建进程 首先通过bind_soc
阅读全文
摘要:多线程下载 多线程下载首先想到的就是先由操作系统创建一个普通文件,然后申请磁盘空间,接着由多线程将待下载的数据插入到已存在的磁盘空间中,这样是不可行的,原因就在于文件的当前操作位置是唯一的值,无法多线程操作该值。因此无法进行多线程同时对一个文件进行写入的实现; 因此就需要将这个文件在下载的时候拆为多
阅读全文
摘要:logoperator.h #ifndef LOGOPERATOR_H #define LOGOPERATOR_H #include <iostream> #include <sys/time.h> #include <stdint.h> #include <log4cpp/Category.hh>
阅读全文