当前位置: 首页 > news >正文

【在线五子棋对战】一、项目简介 环境搭建

文章目录

  • Ⅰ. 项目简介
  • Ⅱ. 开发环境
  • Ⅲ. 核心技术
  • Ⅳ. 环境搭建
    • ① CentOS-7.6环境搭建
      • 1、安装wget工具
      • 2、更换软件源
      • 3、安装第三方软件源
      • 4、安装lrzsz传输工具
      • 5、安装高版本gcc/g++编译器
      • 6、安装gdb调试器
      • 7、安装git
      • 8、安装cmake
      • 9、安装boost库
      • 10、安装Jsoncpp库
      • 11、安装MySQL数据库服务及开发包
      • 12、安装Websocketpp库

在这里插入图片描述

Ⅰ. 项目简介

本项目主要实现⼀个网页版的五子棋对战游戏, 其主要支持以下核心功能:

  • 用户管理: 实现用户注册, 用户登录、获取用户信息、用户天梯分数记录、用户比赛场次记录等
  • 匹配对战: 实现两个玩家在网页端根据天梯分数匹配游戏对⼿,并进行五子棋游戏对战的功能
  • 聊天功能: 实现两个玩家在下棋的同时可以进行实时聊天的功能

Ⅱ. 开发环境

  • Linux(CentOS-7.6 / Ubuntu-22.04)
  • vscode/vim
  • g++/gdb
  • Makefile

Ⅲ. 核心技术

  • Http / Websocket
  • Websocket++
  • JsonCpp
  • Mysql
  • c++11
  • BlockQueue阻塞队列
  • HTML / CSS / JS / AJAX

Ⅳ. 环境搭建

① CentOS-7.6环境搭建

1、安装wget工具

wget 工具主要是为了下面我们去下载软件做准备的!如果已经安装过的,就不需要再安装了,因为我们对于 wget 来说并不需要对版本要太大要求。

​ 如果 rpm 指令来看看是否安装:

[liren@VM-8-7-centos ~]$ rpm -qa | grep wget
wget-1.14-18.el7_6.1.x86_64  #这样子代表已经安装

​ 下面是安装的指令:

[liren@VM-8-7-centos ~]$ sudo yum install wget

2、更换软件源

​ 更换软件源主要是为了下载速度的提升,因为默认下载文件都会到 CentOS 的官网去下载,这样子比较慢,所以我们可以换成国内的一些镜像软件源来提高下载速度。

​ 在更换软件源之前,我们要先将系统中的 yum 源给 备份起来,防止丢失,它的路径在 /etc/yum.repos.d/ 下面,.repo 文件表示的就是软件源,而系统官方的 yum 源是 CentOS-Base.repo,备份的话只需要在其名称后面加上一些后缀,比如这里会加 .bak1 后缀,防止后面我们更换软件源之后系统官方的 yum 源被覆盖了!

在这里插入图片描述

​ 然后就是更换为其它的官方软件源,这里更换的是阿里云的软件源:

在这里插入图片描述

​ 接着我们还要将之前的软件源缓存给清理一下:因为我们下载了新的软件源,那么之前的软件源的缓存就都没用了,直接清理即可:

在这里插入图片描述

​ 最后删除了之前的缓存,那么现在我们就要重新创建一个缓存给新的软件源使用

[liren@VM-8-7-centos ~]$ sudo yum makecache
……
……
Metadata Cache Created
[liren@VM-8-7-centos ~]$ 

3、安装第三方软件源

​ 因为下面安装软件的时候需要用到一些第三方软件源,所以这里也下载一下,主要是 scl、epel 软件源:

[liren@VM-8-7-centos ~]$ sudo yum install centos-release-scl-rh centos-release-scl[liren@VM-8-7-centos ~]$ sudo yum install epel-release

4、安装lrzsz传输工具

[liren@VM-8-7-centos ~]$ sudo yum install lrzsz[liren@VM-8-7-centos ~]$ rz --version
rz (lrzsz) 0.12.20

5、安装高版本gcc/g++编译器

​ 因为编写代码时候需要用到一些高版本的语法,所以要安装高版本的编译器,这和原来的 gcc 编译器是不冲突,直接安装就行!

​ 下面我们先列出软件源中的 gcc/g++ 编译器:

[liren@VM-8-7-centos ~]$ yum search devtoolset

​ 会弹出来很多版本的编译器,我们只需要安装版本 7 的就行了:

在这里插入图片描述

​ 接着我们就安装它:

[liren@VM-8-7-centos ~]$ sudo yum install -y devtoolset-7-all
[sudo] password for liren: 
……
……
Complete!

​ 安装完成之后,在 /opt/ 路径下就多了一个文件夹,我们来看看它的关系:

在这里插入图片描述

​ 我们需要 去加载一下这个 enable 配置文件,因为虽然我们安装好了编译器,但是原来的 gcc/g++ 编译器默认使用的版本还是旧的那套,如下所示:

在这里插入图片描述

​ 但是在下面加载之前,有个问题,就是当前如果是通过命令行去手动加载的话,下次重新打开终端再编译的时候还是得重新加载,如果我们想要 让其永久有效,也就是启动终端就加载这个 enable 配置文件,我们就要 配置一下终端的启动初始化配置文件
在这里插入图片描述

在这里插入图片描述

6、安装gdb调试器

[liren@VM-8-7-centos ~]$ sudo yum install -y gdb
……
……
Complete!
[liren@VM-8-7-centos ~]$ gdb --version
GNU gdb (GDB) Red Hat Enterprise Linux 8.0.1-36.el7
Copyright (C) 2017 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
……

7、安装git

[liren@VM-8-7-centos ~]$ sudo yum install -y git
……
……
Complete!
[liren@VM-8-7-centos ~]$ git --version
git version 1.8.3.1

8、安装cmake

[liren@VM-8-7-centos ~]$ sudo yum install -y cmake
……
……
Complete!
[liren@VM-8-7-centos ~]$ cmake --version
cmake version 2.8.12.2

9、安装boost库

​ 因为 boost 库中有很多的工具,如果要我们一个一个去安装不现实,所以我们直接安装 boost-devel.x86_64,这是一个 boost 库的开发包:

在这里插入图片描述

[liren@VM-8-7-centos ~]$ sudo yum install -y boost-devel.x86_64
……
……
Complete!

​ 安装完就能在头文件目录中看到 boost 库的文件:

在这里插入图片描述

10、安装Jsoncpp库

[liren@VM-8-7-centos ~]$ sudo yum install -y jsoncpp-devel
……
……
Complete!
[liren@VM-8-7-centos ~]$ ls /usr/include/jsoncpp/json/
assertions.h  autolink.h  config.h  features.h 
forwards.h  json.h  reader.h  value.h  version.h  writer.h

11、安装MySQL数据库服务及开发包

​ 这里安装 mysql 的工作,具体参考 mysql 的笔记,不再赘述,主要讲一下一些小细节:

​ 登录查看 mysql 字符集是否正常:

mysql> show variables like '%chara%';          
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | utf8                       |   #客⼾端使⽤的字符集
| character_set_connection | utf8                       |   #客⼾端连接时使⽤的字符集
| character_set_database   | utf8                       |	#数据库创建默认字符集
| character_set_filesystem | binary                     |	#⽂件系统编码格式
| character_set_results    | utf8                       |	#服务器返回结果时的字符
| character_set_server     | utf8                       |	#存储系统元数据的字符集
| character_set_system     | utf8                       |	#系统使⽤的编码格式,不影响
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
mysql> 

​ 可以看到编码格式是统一的(文件系统编码不一致不影响),但是如果出现不统一的情况,我们就得去 /etc/my.cnf 配置文件进行修改:

[zwc@VM-8-12-centos workspace]$ sudo vim /etc/my.cnf// my.cnf 配置文件 //
# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/5.7/en/server-configuration-defaults.html
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
character-set-server=utf8
……

​ 另外再安装一下 mysql 的开发包,也就是一些头文件和库函数:

[liren@VM-8-7-centos echo_server]$ sudo yum install -y mysql-community-devel

12、安装Websocketpp库

​ 这里采用源码安装的形式,将 github 上开源的 Websocketpp 克隆到本地:

[liren@VM-8-7-centos ~]$ git clone https://github.com/zaphoyd/websocketpp.git

​ 接下来进入到这个下载好的文件夹中进行安装:

[liren@VM-8-7-centos ~]$ ls
linux  protobuf-21.11  websocketpp
[liren@VM-8-7-centos ~]$ cd websocketpp/         
[liren@VM-8-7-centos websocketpp]$ ls
build         cmake           COPYING  Doxyfile  readme.md   SConstruct  tutorials    websocketpp-config.cmake.in
changelog.md  CMakeLists.txt  docs     examples  roadmap.md  test        websocketpp
[liren@VM-8-7-centos websocketpp]$ mkdir build
[liren@VM-8-7-centos websocketpp]$ cd build
[liren@VM-8-7-centos build]$ cmake -DCMAKE_INSTALL_PREFIX=/usr ..      #因为websocketpp依赖于cmake来编译,所以要用cmake工具,其中-DCMAKE_INSTALL_PREFIX=/usr表示设置安装路径,将websocketpp的头文件放到usr/include,库文件放到usr/lib/中去;而 .. 表示针对上个目录也就是websocketpp文件夹进行生成make
……
……
[liren@VM-8-7-centos build]$ ls
CMakeCache.txt  CMakeFiles  cmake_install.cmake  install_manifest.txt  Makefile  websocketpp
[liren@VM-8-7-centos build]$ sudo make install
[sudo] password for liren: 
……
……
[liren@VM-8-7-centos build]$

​ 最后验证 websocketpp 是否安装成功:

[liren@VM-8-7-centos build]$ cd ../examples/echo_server
[liren@VM-8-7-centos echo_server]$ ls
CMakeLists.txt  echo_handler.hpp  echo_server.cpp  SConscript
[liren@VM-8-7-centos echo_server]$ g++ -std=c++11 echo_server.cpp -o echo_server -lpthread -lboost_system
[liren@VM-8-7-centos echo_server]$        #编译成功表示安装成功了

​ 编译成功,则表示安装成功了。

在这里插入图片描述

相关文章:

  • 简述如果要存储用户的密码散列,应该使用什么字段进行存储?
  • Java求职面试:从Spring到微服务的技术挑战
  • 【PhysUnits】15.1 引入P1后的加一特质(add1.rs)
  • 【25软考网工】第九章(2)网络管理命令
  • 光年号旅行中通信之选:英国sim卡使用指南
  • 【达梦数据库】临时表空间不足
  • 第七届下一代数据驱动网络国际学术会议(NGDN 2025)
  • 几款主流V30、V60、V90相机SD卡的评测(索尼、闪迪、三星、雷克沙)
  • ai绘制mg人物半侧面头型
  • python 制作复杂表格报告
  • 第九章 MQTT报文
  • 深入理解 Pinia:Vue 状态管理的革新与实践
  • lua注意事项
  • .NET WinForm图像识别二维码/条形码并读取其中内容
  • CVPR2025重磅突破:AnomalyAny框架实现单样本生成逼真异常数据,破解视觉检测瓶颈!
  • Oracle 19c导入数据出现ORA-56935 ORA-39065
  • spring boot 拦截器HandlerInterceptor 不生效的原因排查
  • L2-053 算式拆解 - java
  • DL00924-基于深度学习YOLOv11的工程车辆目标检测含数据集
  • LLM:decoder-only 思考
  • 哈尔滨座做网站的/seo基础
  • aspcms手机网站怎么做/室内设计培训班学费一般多少
  • 现在公司做网站还需要域名吗/seo数据监控平台
  • c 语言做网站/东莞推广系统
  • 怎么做企业网站推广的方法/seo 重庆
  • 怎么建立一个群/网络优化工程师是干什么的