
项目
文章平均质量分 63
ken_scott
这个作者很懒,什么都没留下…
展开
-
一个简单的文件共享工程 -- Head
Head文件夹中文件:Command.h:#ifndef __COMMAND_H__#define __COMMAND_H__#include enum{ FILE_MODE = (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH), DIR_MODE = (FILE_MODE | S_IXUSR | S_IXGRP | S_IX原创 2012-06-03 12:55:55 · 665 阅读 · 0 评论 -
[common-sln]: base工程初步功能
从2013-05-18 pm 到 2013-05-25 am, 终于完成了基础库的第一个版本:我的基础库: common-v1.0common目录下有目录:bulid: Makefile和编译生成的objs文件所在的目录inc: 头文件目录,下一级是工程目录,此工程目录下包含了所有的头文件 src: 实现文件目录,下一级是工程目录,此工程目录下原创 2013-05-28 18:16:39 · 1026 阅读 · 0 评论 -
[common-sln]: base工程增加遍历目录的功能实现
base工程增加头文件:/******************************************************** * Description : functions of directory traversal * Data : 2013-06-06 14:46:16 * Author : yanrk * Email原创 2013-06-07 02:01:13 · 2985 阅读 · 0 评论 -
[common-sln]: net工程初步完成
net工程的代码是6月的时候写的:common/net:1. net_common_types.h 一些用于跨平台的macro、typedef2. net_tcp_handler_base.h 网络字节流的数据处理基类 (实现类)3. net_tcp_server_base.h tcp server的纯虚基类 (接口类)4. net_tcp_server.h原创 2013-07-18 10:39:25 · 1153 阅读 · 4 评论 -
[common-sln]: base增加多定时器组件
操作系统现有的APIlinux的定时器:1. 基于信号的setitimer系列----- 信号是进程域,对于同一种信号,只能有一个处理函数;如果别的模块也扑捉同一种信号,那么后面设置的信号处理会覆盖前面的处理方法。2. 基于文件描述符的timer_create系列----- 稍显复杂;而且会"消耗"文件描述符,这不适合于文件描述符需求大且系统文件描述符不足的情景。windows的定原创 2013-08-09 18:52:46 · 987 阅读 · 0 评论 -
[common-sln]: base增加单定时器组件
很简单的实现,也开了个线程来做实现:#ifndef COMMON_BASE_TIMER_H#define COMMON_BASE_TIMER_H#include "base_common.h"#include "base_uncopy.h"#include "base_thread.h"NAMESPACE_COMMON_BEGINclass BaseTimer;clas原创 2013-08-09 23:48:08 · 700 阅读 · 0 评论 -
[common-sln]: base增加唯一标识管理类
目的:创建某种场景下的唯一标示,就好像文件描述符那种#ifndef COMMON_BASE_HANDLE_MANAGER_H#define COMMON_BASE_HANDLE_MANAGER_H#include #include #include #include "base_common.h"#include "base_uncopy.h"#include "base_lo原创 2013-08-10 21:20:40 · 749 阅读 · 0 评论 -
common备份到GitHub了
担心以后电脑出问题,代码找不回,决定备份到GitHub,git@github.com:yanrk/common.git发现一些文件备份不上,空目录也是,后面发现有这么个文件:.gitignorecat .gitignore # Compiled Object files*.slo*.lo*.o# Compiled Dynamic libraries*原创 2013-08-13 01:48:08 · 5361 阅读 · 0 评论 -
[common-sln]: net工程进行大整改
这几天把net工程的实现进行了一次大整改,框架更复杂一些,但是能使后期修改、维护以及功能增加更为方便。之前版本分server和client,现今版本融合了两者,协议实现者可以使用其中一种或两种之前版本的消息会通知到server、client,所以使用者需要继承server和client,实现自己的handle_message方法现今版本的消息会从manager通知到message_han原创 2013-08-03 20:17:07 · 1000 阅读 · 0 评论 -
stupid代码提交到github
stupid是common的持续改进版本,之前common原创 2014-08-02 21:11:58 · 800 阅读 · 0 评论 -
项目工作总结
要离职了,总结下这半年的工作:01. 基于openssl的RSA和AES256-ECB加解密、SHA256、base64转码封装 02. 密钥协商过程实现 03. 基于openssl的SSL封装 04. 字符串随机生成、转换、检验 05. 基于libssh2的SFTP客户端实现 06. 基于zlib的压缩、解压缩封装 07. HTTP客户端实现 08.原创 2013-03-16 13:58:30 · 911 阅读 · 0 评论 -
rudp
lock.h:#ifndef __LOCK_H__#define __LOCK_H__#include class MutexLocker{public: MutexLocker(); ~MutexLocker(); void lock(); void unlock();private: pthread_mutex_t m_lock原创 2012-07-24 14:06:27 · 10148 阅读 · 4 评论 -
一个简单的文件共享工程 -- 功能概述
服务器管理一个目录,远程客户端可以对这个目录进行几个简单的命令(ls,cd,mkdir,touch,rm,download,upload),客户端不可以操作共享目录以外的东西。服务器用的是多路复用实现的,没有用多线程,多进程;所以,如果一个客户端在上传或下载大数据量的文件时,就不能对别的客户端及时响应。交互协议如下:ls: client>: >> ls原创 2012-06-03 12:51:43 · 770 阅读 · 0 评论 -
一个简单的文件共享工程 -- TConnection
TConnection文件夹中文件:TConnection.h:#ifndef __TCP_CONNECTION_H__#define __TCP_CONNECTION_H__class TConnection{public: static bool send(int sockfd, const char * data, int n); static bool rec原创 2012-06-03 12:59:46 · 725 阅读 · 0 评论 -
一个简单的文件共享工程 -- TMServer
TMServer文件夹中文件:TMServer.h:#ifndef __TCP_MULTIPLEXING_SERVER_H__#define __TCP_MULTIPLEXING_SERVER_H__#include #include #include using std::vector;#include "../TConnection/TConnection.h"#in原创 2012-06-03 13:02:34 · 1174 阅读 · 0 评论 -
一个简单的文件共享工程 -- FileServer
FileServer文件夹中文件:FileServer.h:#ifndef __FILE_SERVER_H__#define __FILE_SERVER_H__#include "../TMServer/TMServer.h"class FileServer : public TMServer{public: FileServer(const char * host,原创 2012-06-03 13:13:55 · 928 阅读 · 0 评论 -
一个简单的文件共享工程 -- 总结
ByteStream用在这里是不必要的,htons(),ntohs()已经足够了,还有个教训:函数命名不要用系统相同,虽然我现在还是这么做的,以后尽量避免吧。文件共享???远程登录似乎更贴切些。命令还可以再加,也可以再改成多进程或多线程什么的,不过,没必要了。还有,makefile写得太难看了,没学到精髓。原创 2012-06-03 13:30:40 · 835 阅读 · 0 评论 -
一个简单的文件共享工程 -- TMClient
TMClient文件夹中文件:TMClient.h:#ifndef __TCP_MULTIPLEXING_CLIENT_H__#define __TCP_MULTIPLEXING_CLIENT_H__#include "../Head/Uncopy.h"#include "../TConnection/TConnection.h"class TMClient : public原创 2012-06-03 13:05:39 · 900 阅读 · 0 评论 -
一个简单的文件共享工程 -- FileClient
FileClient文件夹中文件:FileClient.h:#ifndef __FILE_CLIENT_H__#define __FILE_CLIENT_H__#include #include using std::map;using std::string;#include "../TMClient/TMClient.h"class FileClient : pub原创 2012-06-03 13:18:40 · 1940 阅读 · 0 评论 -
github上的个人代码
已将个人代码更新到Github:https://github.com/yanrk/其中的boost_net和stupid两个开源项目,有兴趣的可以看看,有问题可以邮箱我:yanrkchina@163.com开源目的是惠人惠己,欢迎指出问题。原创 2018-01-09 21:29:23 · 504 阅读 · 0 评论