2020年11月20日登录流程 根据上一篇文章中的登录流程,我在工程中找到了相应的代码并记录了下来 登录服务代码解析 监听端口:49997 供BS服务连接 监听端口:49996 供客户端连接 CIocpCtrl:IOCP控制类 多线程循环……
阅读全文
2020年11月20日服务器架构简图如下: 连线说明: 实线:表示客户端登录流程,①②③④⑤表示登录流程,详细解释见下文。 虚线:表示服务器间的连接,虚线箭头指向监听方。 架构说明: |英文名称|简称|中文名称|功能简介|单个大区需……
阅读全文
2020年11月16日环境准备 win10 服务器:vs2010 / 数据库 mysql5.7 清华大学mysql镜像网站:https://mirrors.tuna.tsinghua.edu.cn/mysql/downloads/MySQL-5.7/ 客户端……
阅读全文
2020年11月13日使用libevent库作为例子 下载 & 编译 & 安装libevent $ git clone https://github.com.cnpmjs.org/libevent/libevent.git $ cd libevent && mkdir build && cd build $ cmake .. $ make libevent实现的定时器 // main.cpp #include "event.h" struct event ev; struct timeval tv; void time_cb(evutil_socket_t fd, short event, void *argc) { printf("timer wakeup\n"); event_add(&ev, &tv); // reschedule timer } int main() { struct event_base *base = event_base_new(); tv.tv_sec = 2;……
阅读全文
2020年11月12日概述 在Go语言中,Slice本质是什么呢?是一个reflect.SliceHeader结构体和这个结构体中Data字段所指向的内存。String本质是什么呢?是一个reflect.StringHead……
阅读全文
2020年11月12日概述 通常我们会给每个产品环境设置不同的配置,比如 redis 要在开发环境就连接 localhost:6379,测试环境可能连接某一个主机的 redis。 如果放在 go 里面是否可行?因为 go 是编译二进制包,也没有动态加载这……
阅读全文
2020年11月5日使用自己的C函数 文件名:testC.go package main /* #include <stdio.h> #include <stdlib.h> void c_print(char *str) { printf("%s\n", str); } */ import "C" //import “C” 必须单起一行,并且紧跟在注释行之后 import "unsafe" func main() { s := "Hello Cgo" cs := C.CString(s) //字符串映射 C.c_print(cs) //调用C函数 defer C.free(unsafe.Pointer(cs)) //释放内存 } 说明: 1、g……
阅读全文
2020年11月4日使用Lumberjack+zap进行日志切割归档 为了添加日志切割归档功能,我们将使用第三方库Lumberjack来实现。 安装 执行下面的命令安装Lumberjack go get -u github.com/natefinch/lumberjack zap logger中加入Lumbe……
阅读全文
2020年10月28日插件相关 |快捷键|说明 |—— |,|Leader Key |<leader>n|打开 / 关闭代码资源管理器 |<leader>t|打开 / 关闭函数列表 |<leader>a|.h .cpp 文件切换 |<leader>u|转到函数声明 |&……
阅读全文
2020年10月28日使用 vimplus 打造C++ IDE GitHub: https://github.com/chxuan/vimplus 支持平台: macos/linux 安装vimplus // 原来的链接, 国内速度较慢 $ git clone https://github.com/chxuan/vimplus.git ~/.vimplus // github修改为镜像的链接 $ git clone --depth=1 https://github.com.cnpmjs.org/chxuan/vimplus.git ~/.vimplus $ cd ~/.vimplus //不加sudo $ ./install.sh 设置Nerd Font 为防止vimplu……
阅读全文