C++学习之游戏服务器开发十七游戏房间容器化
目录
1.分布式部署设计
2.分布式部署的CGI程序实现
3.容器管理进程
4.分布式测试
5.容器退出思路
6.容器退出删除房间实现
7.分布式跟随房间实现
8.创建qt客户端安装包
1.分布式部署设计
2.分布式部署的CGI程序实现
3.容器管理进程
Cmake 用来产生好用的 makefile
一般步骤:
写 CMakeLists.txt 文件
执行 cmake (创建 build 目录下)
执行 make
搜索目录下所有源文件: aux_source_directory( 路径 变量 )
编译库: add_library( 库名 动态或静态 源码们 )
target_link_libraries :指定可执行程序的依赖库
4.分布式测试
重构当前代码
抽象通道类继承 handler 类,重写 internel_handle 函数
定义消息类: IO 方向和字节数据
功能处理类继承 handler 类
输入通道类 getnext 返回功能处理对象
功能处理类的 internel_handle 函数内直接调用 zinx_sendout 输出数
据
通道类, internel_handle 函数:
消息方向 IN , readfd
消息方向 OUT ,缓存 bytemsg 对象中的 content
epollin 事件:创建 in 方向消息 -- 》交给 channle 的 handle 函数
epollout 事件:调用通道的 flushout
5.容器退出思路
Sourceinsight 快捷键
ctrl+o 弹出文件选择栏
alt+L 弹出符号栏
ctrl+ 鼠标左键 跳转到函数定义
alt + < 回退 alt+ > 下一个
ctrl+1 显示调用关系
shift+f8 高亮单词 ctrl+shift+f8 取消所有高亮
f7 查找符号
分发框架
库分发:编译成 libXXXXX.so
编译参数: -fPIC -shared
6.容器退出删除房间实现
容器技术
容器是操作系统和应用程序之间的一个虚拟层
应用程序可以在容器中运行(跟在操作系统中运行相同)。容器以
应用程序的形式运行在操作系统中
docker 程序架构
cs 架构
容器,镜像都是由守护进程管理
7.分布式跟随房间实现
docker 的三大核心概念
镜像
静态的一组环境的集合
运行:创建容器,在容器中运行 XXXX
手动创建:
下载原始镜像
在基于该镜像运行 bash ,装所需软件
将装好软件的容器提交为新的镜像
脚本创建:
写 Dockerfile :规定镜像创建的过程
构建镜像
容器
运行时的一组环境,基于某个镜像创建
容器的修改不会影响镜像
8.创建qt客户端安装包
脚本创建 docker 镜像
1. 指定基础镜像( FROM XXXX )
2. 装环境( RUN , WORKDIR , COPY )
3. 指定执行点( ENTRYPOINT )
ENTRYPOINT ["XXX"] :
XXX 是且仅是镜像所运行的程序
CMD 命令指定你的内容会作为 XXX 的参数
run 镜像名 xxxx : xxxx 会作为 XXX 的参数
CMD ["XXX"]
镜像缺省运行 XXX 程序
run 镜像名 xxxx :容器会执行 xxxx 程序