该系统的开发工具是MicrosoftVisualC+.net 2003,该系统采用Client/Server编程模式,采用TCP/IP协议作为客户端和棋牌服务器之间的通信网络层,采用IOCP:Input/OutputCompletionPort网络开发模型,优化性能,客户端采用WinSocketAPI作为网络层。

该系统采用多棋牌服务器分布式体系结构,由中央棋牌服务器CENTERSERVER和多个主棋牌服务器MainServer以及多个从棋牌服务器(LocalServer)组成,实现游戏逻辑、用户管理和通信功能。中央棋牌服务器为客户端提供全局配置,初始化数据(主要是定位一个主棋牌服务器IP地址),主棋牌服务器管理客户端用户身份验证、登录和从棋牌服务器的建立。由多个从棋牌服务器管理游戏通信,大厅和房间,从棋牌服务器可以添加、删除、修改等。

系统启动中央棋牌服务器(CENTERSERVER),中央棋牌服务器从INI文件读取MainServer列表信息,客户端提供全局配置,初始化数据,然后等待客户端连接。客户端连接后,CENTERSERVER定位MainServer的IP地址和端口号,将其发送到客户端,在接收客户端后断开CENTERSERVER的连接,并立即与主棋牌服务器(MainServer)与MainServer的IP地址和端口号连接。主棋牌服务器将棋牌服务器的所有信息从数据库读取到主棋牌服务器的内存。首先读取ComType表以建立所有游戏类型的基本信息,然后读取ServiceInfo(界面树结点信息表)以获取所有信息,包括客户端接口结构、来自棋牌服务器、大厅和房间的信息。当客户端请求登录并成功连接到主棋牌服务器时,主棋牌服务器立即将所有这些信息发送到客户端内存,客户端根据这些信息生成接口结构树。

主棋牌服务器还可以在启动后在主棋牌服务器中创建多个从棋牌服务器和房间。在创建从棋牌服务器后,将从棋牌服务器的IP地址和端口号同时写入数据库和主棋牌服务器的内存中,作为其唯一标识。房间号、房间所属的游戏类型和房间所属的从棋牌服务器号也被写入数据库和主棋牌服务器的内存中,作为房间的唯一标识。

创建棋牌服务器后,它将在它所属的机器上启动。

客户端登录后,它首先建立到主棋牌服务器的连接(并且一直到客户端退出才断开),并在连接成功后构建接口结构树(前述)。当用户单击游戏室时,系统从内存(前述)读取有关该房间的所有信息,并试图根据该房间所属的从棋牌服务器的IP地址和端口号与从棋牌服务器建立连接。当连接成功时,有关房间的所有信息相应地从棋牌服务器发送到客户端,并且客户端根据客户端接收的信息生成房间。每当客户端的游戏位置发生变化时,都会向从棋牌服务器发送更改消息,从该消息中保存和修改与其连接的所有客户端的位置信息列表。

游戏开始于桌满时。游戏开始后,客户端还与从棋牌服务器通信以更新游戏信息。当客户端退出游戏时,他会返回大厅的这个房间。离开大厅时,他首先断开从棋牌服务器的连接,然后断开与主棋牌服务器的连接,最后终止整个客户端程序。

修改棋牌服务器,关于棋牌服务器的一些程序搭建和数据应用步骤相关推荐

  1. 棋牌服务器要什么系统,棋牌需要什么云服务器

    棋牌需要什么云服务器 内容精选 换一换 ר��������Dedicated Host��DeH������ָ�û��ɶ����ר������������Դ�������Խ��Ʒ����������� ...

  2. 棋牌游戏需要什么服务器

    棋牌游戏需要什么服务器?服务器需要什么配置,需要看具体的游戏以及玩家的数量.一般前期都会选择一个基础的配置,后期不够用的话,可以随时升级.还要根据游戏运营者自身特点进行选择. 1.如果有游戏运营牌照 ...

  3. 服务器开发修改用户密码功能,更改服务器用户密码

    更改服务器用户密码 内容精选 换一换 为避免网络故障或网络配置问题影响登录系统,请管理员优先检查网络ACL配置是否允许访问云堡垒机,并参考表1配置实例安全组.AD域.RADIUS.LDAP.Azure ...

  4. 修改数据库服务器日期命令,服务器上数据库用命令修改

    服务器上数据库用命令修改 内容精选 换一换 本教程旨在演示使用GDS(Gauss Data Service)工具将远端服务器上的数据导入GaussDB(for openGauss)中的办法,帮助您学习 ...

  5. 怎么修改某一软件的服务器,怎样设置一个软件服务器地址

    怎样设置一个软件服务器地址 内容精选 换一换 制作Docker镜像,有以下两种方法.快照方式制作镜像(偶尔制作的镜像):在基础镜像上,比如Ubuntu,先登录镜像系统并安装Docker软件,然后整体制 ...

  6. 云服务器修改密码无法登录,云服务器修改登录密码

    云服务器修改登录密码 内容精选 换一换 Linux云服务器常用的登录方式是SSH,对于密码登录方式创建的云服务器,如何保证登录安全性呢?本文以CentOS 7.6为例,对SSH登录进行安全加固.通过S ...

  7. t3服务器更换之后要修改什么,用友t3服务器地址变更

    用友t3服务器地址变更 内容精选 换一换 更新指定的VPC通道的后端实例.更新时,使用传入的请求参数对对应云服务组的后端实例进行全量覆盖修改.若未指定修改的云服务器组,则进行全量覆盖.您可以在API ...

  8. 修改ftp服务器地址,ftp服务器的地址修改

    ftp服务器的地址修改 内容精选 换一换 您可以通过华为云的域名注册服务管理您的域名,如表1所示. 环境搭建完成后,若您需要修改Atlas 200 DK的IP地址,请参考以下步骤操作.在Ubuntu服 ...

  9. 战地1修改服务器,战地1服务器设置教程

    战地1服务器设置教程 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 打开&qu ...

  10. 如何修改服务器root密码,服务器root密码修改

    服务器root密码修改 内容精选 换一换 本节操作介绍Linux云服务器切换密钥登录为密码登录的操作步骤.使用密钥登录Linux云服务器,设置root密码.sudo passwd root若密钥文件丢 ...

最新文章

  1. pycharm add configuration怎么配置_python从入门到入土 | 环境配置(二)
  2. 剑指offer 算法 (举例让抽象具体化)
  3. python 常用内置函数_Python小白必备的8个最常用的内置函数(推荐)
  4. webpack简单修改版本号(单页面)
  5. matplotlib绘制虚线_[Matplotlib习题]虚线绘图练习
  6. sql管理器指定服务器名字,如何修改sql server 服务管理器 服务器名称
  7. 为什么Visual Studio的安装目录下有名为1033或2052的文件夹?
  8. 2018-04-22jenkins+maven+svn环境搭建学习心得
  9. 【C++】简易GIF生成器(斗图神器!必备!!!)持续更新~
  10. cfree安装与使用
  11. idea打包servlet成war包部署在tomcat
  12. sikuli python java_自动化测试之sikuli调研
  13. 阿里巴巴矢量图标使用
  14. UE4添加人物动画之状态机
  15. php 万能密码,万能用户名和万能密码
  16. mac shell 清理缓存-如微信mac清理微信缓存
  17. Pandas 统计分析基础 笔记5 _任务4.5 创建透视表与交叉表
  18. han_attention(双向GRU+attention)(imdb数据集---文档分类)
  19. 【转】目前最常见的”无线通信(数据)传输技术“有哪些?
  20. Parameter index out of range (1 > number of parameters, which is 0)

热门文章

  1. 雷达信号处理基础ppt
  2. maven本地仓库配置
  3. linux进程调度时间片算法,进程调度算法–时间片轮转调度算法
  4. python的numpy安装_python的numpy安装方法大全
  5. usb网卡android驱动win7+64,万能USB驱动 for win7 64bit v2017.11.15.955
  6. delphi10.1调用BarTender2016R5文件打印标签
  7. 小米路由r2d论坛_维修一台亮黄灯的R2D小米路由器2
  8. ES Java REST Client 官方文档
  9. 捷顺USB-RS485驱动
  10. Chrome插件--IDM