前言:
在前面已经讲过了,项目整体的设计,和各个需要模块的介绍;所以各种所需的接口api都完成,现在需要把他们整合起来,搭建一个服务器模块,这个模块是对外提供服务器接口的;需要这个服务器模块,进行完成服务器的搭建;
服务器模块,是对当前所实现的所有模块的一个整合,并进行服务器搭建的一个模块,最终封装实现出一个gobang_server的服务器模块类,向外提供搭建五子棋对战服务器的接口。通过实例化的对象可以简便的完成服务器的搭建。
服务器的整合实现的思路:
网络通信接口的设计
收到一个什么格式的数据,代表了什么样的请求,应该给与什么样的业务处理及响应开始搭建服务器(就是整合一个sever,把各种接口整合到一起)
搭建websocket服务器,实现网络通信( wsserver_t _wssrv,类函数成员)
针对各种不同的请求进行不同的业务处理(整体代码思路。,中有具体讲解)
如下展示了,客户端在运行过程中所需的各种业务;
客户端的各种业务流程如图:
根据项目整体的设计,中的一个整体流程图(如下)可以整合客户端业务的流程(如下下图)
客户端业务的流程
根据不同的请求,资源。又分为静态资源请求与动态功能请求;
静态资源,在这里简单来说就是一个html页面,
动态功能,也就是服务器端所提供的代码功能服务;
整体代码思路
我们这里的思路就是回调函数,根据不同请求来分类,然后进行不同的功能调用,简单流程图如示:
写这些接口的思路:
通信接口设计
大家写的时候要看这些接口设计才能写全部的代码,当然我也是看着前人的接口设计写的;
这里通讯接口的设计是,Restful风格。
也就是定义客户端(如浏览器)和服务器之间"对话"的规则。
就像两个人交流需要约定 使用同一种语言和语法一样,客户端和服务器也需要约定好请求和响应的格式、含义以及行为。
而这种交流需要约定 的风格就是restful风格,它是一种非常流行和规范的Web通信接口设计风格。核心思想 :将网络上的所有事物(如用户、订单、一个HTML页面)都视为"资源 "。然后,通过标准的 HTTP 方法(动词)来对这些资源进行操作。
GET :用于获取/读取资源。
POST :用于创建新资源。
PUT :用于完整更新资源。
DELETE :用于删除资源。
在写代码时,需要根据这些请求和响应的格式来写对应的reg,resp的json串的内容;
举个例子,如,注册时服务器向客户端http的响应
服务器端 要发送的请求与要求的json,都是要和其是一样的;
静态资源请求

注册用户
用户登录
获得客户信息
websocket长连接协议切换请求(进入游戏大厅)
WebSocket握手成功后的回复:表示游戏大厅已经进入成功:
开始匹配对战
停止匹配
websocket长连接协议切换请求(进入游戏房间)
WebSocket握手成功后的回复:表示游戏房间已经进入成功。























