无可无不可的博客

无可无不可

centos7之系统优化方案

http://www.cnblogs.com/jokerbj/p/9133093.html

2019-01-09 14:52:23

阅读数:59

评论数:0

nginx下安装配置modsecurity waf防火墙(附完整编译、配置、排错、详细规则)

nginx下安装配置modsecurity waf防火墙(附完整编译、配置、排错、详细规则) 前言:此次编译配置modsecurity基于一键安装包环境(centos、nginx等)适用于阿里云,整个过程遇到不少坑,网上关于modsecurity的信息还是太少,有的教程不全,有的教程...

2018-11-26 19:29:50

阅读数:154

评论数:0

nginx下安装配置naxsi waf防火墙(附完整编译、配置)

nginx下安装配置naxsi waf防火墙(附完整编译、配置) Naxsi 是第三方 nginx 模块 ,它和 Modsecurity 都是开源 WAF ,但是它们的防御模式不同。 Naxsi 不依赖像防病毒软件这样的签名库,因此不会被“未知”攻击模式所规避,它就像是 wind...

2018-11-26 19:25:20

阅读数:29

评论数:0

SQL Server 2008 R2 主从数据库同步(日志传送的方式 Log Shipping)

注意事项:    1、为主从服务器添加新的系统用户并设置好密码; &a...

2018-11-14 23:04:29

阅读数:21

评论数:0

SqlServer2008 数据库同步的两种方式 (发布、订阅)

SqlServer2008 数据库同步的两种方式 (发布、订阅)   上篇中说了通过SQL JOB的方式对数据库的同步,这一节作为上一节的延续介绍通过发布订阅的方式实现数据库之间的同步操作。发布订阅份为两个步骤:1、发布。2订阅。首先在数据源数据库服务...

2018-11-14 22:52:03

阅读数:17

评论数:0

lua协程(coroutine)使用

function foo(a,b) print("co before yield",a,b); ----output:co before yield 100 200 ----print(coroutine.status(co))...

2018-11-14 12:43:26

阅读数:25

评论数:0

protobuf实战操作

 lua调用C/C++函数发送数据 主要操作函数是lua_table_to_protobuf, static google::protobuf::Message* lua_table_to_protobuf(lua_State* L, int stackIdx, const char* ms...

2018-11-02 13:57:04

阅读数:52

评论数:0

session模块函数导出

在服务启动的时候把ctype注册到服务中 static std::map<int, std::string> g_pb_cmd_map; std::map<int, std::string> cmd_ma...

2018-11-02 10:55:07

阅读数:34

评论数:0

C/C++ mysql模块导出函数供lua使用

因为lua是脚本语言,所以在处理IO和高密度计算的时候效率会低,通常就会把这类高计算函数用C/C++编写导出给lua使用,这里是使用tolua++来实现的 tolua++需要引用的头文件 #ifdef __cplusplus extern "C"{ #en...

2018-11-01 15:08:52

阅读数:26

评论数:0

lua_wrapper封装

lua_wrapper类 class lua_wrapper{ public: static void init(); //初始化lua虚拟机 static void exit(); //退出lua虚拟机 static bool exec_lua_file(const char* ...

2018-11-01 14:04:16

阅读数:40

评论数:0

WebSocket数据封包解包

websocket和TCP/IP多了一个握手协议(ws协议不用2字节长度加数据体的协议) 1、ws_protocol类 class ws_protocol{ public: static bool ws_shake_hand(session* s, char* body, int len)...

2018-10-18 19:30:25

阅读数:321

评论数:0

Session管理

1、session抽象类是一个主要有4个接口,session实现着4个接口,就可以完成整个session管理功能 class session { public: virtual void close() = 0; virtual void send_data(unsigned char* ...

2018-10-16 21:46:58

阅读数:153

评论数:0

proto_man模块

proto_man模块主要用于编码解码用户数据体 用户数据命令格式如下: 2字节stype  + 2字节ctype + 4字节utag + 数据body body可以是json字符串或者protobuf的Message对象 1、cmd_msg结构体主要对整个数据封装成上面格式 st...

2018-10-16 21:03:29

阅读数:30

评论数:0

libuv工作队列

 主要通过uv_queue_work函数来实现工作队列,uv_work_t uv_work中的data可以用来传递数据 static void thread_work(uv_work_t* req) { // printf("user data = %d \n&am...

2018-10-16 21:00:06

阅读数:97

评论数:0

c++ proto_buf应用

person.proto syntax = "proto2"; message Person { required string name =1; required int32 age = 2; optional string ema...

2018-10-16 16:37:06

阅读数:40

评论数:0

proto_buf基础

syntax = "proto2"; //使用哪种协议 proto2 //syntax = "proto2"; //使用哪种协议 proto3 //注释 /* 字段规则 //protoc这个工具就能把我们的消...

2018-10-16 16:24:13

阅读数:31

评论数:0

cache_alloc库实现

注意:主要使用c链表功能实现,链表主要是通过一个指针保存实际数据存放的位置,指针里面有指向下一个地址的一个指针,循环嵌套指向下一个地址,链表node其实和内存缓存区是两个部分。用node来把内存缓冲区做一个表链接起来使用而已 1、cache_alloc是c库,c++调用需要extern “C” ...

2018-10-15 20:50:05

阅读数:20

评论数:0

libuv实现timer时钟库

  struct timer{ uv_timer_t uv_timer; //libuc timer handle void(*on_timer)(void* udata); void* udata; int repeat_count; //-1是一直循环 }; alloc_ti...

2018-10-15 20:39:38

阅读数:65

评论数:0

数据封包解包协议之TCP封包解包

数据封包协议规定:整个数据包包含2字节长度信息+数据包体。2字节长度信息包含本身着2字节。如:数据体是(abcdefg)7个字节,整体封包就是09abcdefg,总共是9个字节的协议 1、netbus接收到数据后发送到static void on_recv_tcp_data(uv_session...

2018-10-15 10:59:13

阅读数:284

评论数:0

NetBus网络总线

NetBus网络总线 netbus类  class netbus { public: static netbus* instance(); public: void init(); void start_tcp_server(int port); void start_ws_ser...

2018-10-15 10:20:52

阅读数:95

评论数:0

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