LastBattle | 服务架构

服务器架构简图如下: 连线说明: 实线:表示客户端登录流程,①②③④⑤表示登录流程,详细解释见下文。 虚线:表示服务器间的连接,虚线箭头指向监听方。 架构说明: |英文名称|简称|中文名称|功能简介|单个大区需……

阅读全文

Cgo | 使用libevent库实现一个定时器

使用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;……

阅读全文

Golang | builds

概述 通常我们会给每个产品环境设置不同的配置,比如 redis 要在开发环境就连接 localhost:6379,测试环境可能连接某一个主机的 redis。 如果放在 go 里面是否可行?因为 go 是编译二进制包,也没有动态加载这……

阅读全文

Cgo | 简单使用

使用自己的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……

阅读全文

Vim | vimplus快捷键

插件相关 |快捷键|说明 |—— |,|Leader Key |<leader>n|打开 / 关闭代码资源管理器 |<leader>t|打开 / 关闭函数列表 |<leader>a|.h .cpp 文件切换 |<leader>u|转到函数声明 |&……

阅读全文

Vim | 打造编C++IDE

使用 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……

阅读全文