《Visual C++网络游戏建模与实现》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:苏羽,王媛媛编著
  • 出 版 社:北京:北京科海电子出版社
  • 出版年份:2003
  • ISBN:7900107975
  • 页数:316 页
图书介绍:本书既讲解了网络编程所涉及的计算机科学及相关学科知识,也展示了如何编写自己的网络游戏。如果想了解网络游戏的通用建模与实现过程,本书有一定的参考价值。深入剖析游戏编程的实现思想,全力打造个性网络游戏空间。本书面向游戏编程人员,重点介绍如何使用VisualC++和UML进行棋牌类网络游戏建模和编程的实现过程。书中通过大量的程序代码分析了Socket通信程序设计、多线程程序设计、服务器端线程池模型、游戏客户端框架程序构建、服务器端数据库处理、报文处理,以及如何使用RationalRose工具进行网络游戏用户案例的划分和进行UML类框图的设计等内容,使读者能够借鉴本书的内容自行发挥设计出具有个性的网络游戏程序。本书适用于软件工程师、网络程序员、大学计算机软件专业和网络专业的学生,以及从事网络游戏开发的程序设计人员。

目录 1

第1章 概述 1

1.1 网络游戏简介 1

1.2 常见网络棋牌游戏 3

1.2.1 中国象棋简介 3

1.2.2 国际象棋简介 4

1.2.3 拱猪简介 6

1.2.4 桥牌简介 7

1.3 常见网络游戏站点 8

1.3.1 联众游戏网站 8

1.3.2 中国游戏中心 9

第2章 TCP/IP协议 10

2.1 TCP/IP协议簇简介 10

2.1.1 TCP/IP结构 10

2.1.2 常用协议 12

2.1.3 RFC的介绍和获取方法 13

2.2 TCP/IP基本概念 14

2.2.1 IP地址 14

2.2.2 端口号 15

2.2.3 地址解析协议 16

2.2.4 域名系统DNS 18

2.3 小结 22

第3章 Windows Socket编程接口 23

3.1 Windows Socket编程的基本概念 23

3.1.1 套接字(Socket)概念 23

3.1.2 Windows Socket组成部分 23

3.1.3 Windows Socket编程的基本模式 23

3.1.4 阻塞处理方式 24

3.1.5 非阻塞处理方式 24

3.1.6 异步处理方式 24

3.2 Windows Socket基本函数 24

3.2.1 WinSock的启动与终止——WSAStartup()与WSACleanup() 24

3.2.2 创建套接字——Socket()和WSASocket() 26

3.2.3 指定本地地址——bind() 27

3.2.4 建立套接字连接——connect()和WSAConnect() 27

3.2.5 监听连接——listen() 28

3.2.6 接受连接请求——accept()和WSAAccept() 29

3.2.7 数据发送——send()和sendto() 29

3.2.8 数据接收——recv()和recvfrom() 31

3.2.9 I/O多路复用——select() 32

3.2.10 中断连接——closeSocket()和shutdown() 33

3.2.11 其他API函数 33

3.3 客户/服务器通信例程 37

3.3.2 服务器端程序示例 38

3.3.1 客户/服务器编程 38

3.3.3 客户端程序示例 41

3.4 小结 43

第4章 套接字I/O模型 44

4.1 select模型 44

4.2 WSAAsyncSelect模型 47

4.3 WSAEventSelect模型 50

4.4 Overlapped模型与CompletionPort模型 51

4.5 封装套接字模型类 55

4.6 小结 69

5.1.1 线程和进程的区别 70

第5章 多线程编程 70

5.1 多线程概述 70

5.1.2 线程的概念 71

5.1.3 工作者线程 72

5.1.4 UI线程 75

5.2 线程通信 77

5.2.1 使用全局变量通信 77

5.2.2 使用用户定义的消息通信 78

5.2.3 使用事件对象通信 79

5.3.1 CSyncObject类 81

5.3.2 CSingleLock类 81

5.3 线程同步 81

5.3.3 CMultiLock类 82

5.3.4 CCriticalSection类 83

5.3.5 CMutex类 83

5.3.6 CSemaphore类 83

5.4 小结 84

第6章 服务器线程池模型 85

6.1 线程池模型 85

6.1.1 线程池类概念 85

6.1.2 线程池类定义 86

6.1.3 线程函数 89

6.2 服务器线程池框架 91

6.2.1 服务器线程池构成 91

6.2.2 管理线程池类 92

6.2.3 接收线程池类 95

6.2.4 发送线程池 99

6.2.5 分析线程池 103

6.3 线程池类程序代码 109

6.4 小结 114

第7章 使用可视化建模工具Rational Rose 115

7.1 建模工具Rational Rose 115

7.1.1 Rational Rose简介 115

7.1.2 Rational Rose界面 117

7.1.3 Rose模型的4个视图 120

7.2 Rose中的框图简介 124

7.3 小结 131

第8章 网络游戏设计的需求说明 132

8.1 网络游戏下载和用户管理 132

8.2 网络游戏管理接口需求 133

8.3 网络游戏界面功能需求 134

8.4 网络游戏功能需求 139

8.5 小结 144

第9章 网络游戏Use Case框图的建立 145

9.1 Use Case框图 145

9.2 角色和用户案例 146

9.3 建立角色和用户案例 150

9.3.1 角色的建立 150

9.3.2 用户案例的划分原则 152

9.3.3 用户案例的分类 153

9.4 小结 166

第10章 游戏协议设计 167

10.1 游戏协议 167

10.1.1 游戏协议概念 167

10.1.2 游戏协议格式 170

10.2 操作代码 171

10.3.1 管理操作类协议 174

10.3 游戏协议详细分类 174

10.3.2 游戏大厅类协议 176

10.3.3 打牌类协议 185

10.3.4 旁观类协议 190

10.4 协议打包/解包程序代码 193

10.5 小结 203

第11章 游戏客户端类图设计 204

11.1 客户端类的划分 204

11.2 游戏基本类 205

11.3 游戏框架类 212

11.4 游戏通信类 219

11.5 游戏应用程序类 222

11.6 游戏处理类 224

11.7 小结 231

第12章 游戏服务器端类图设计 232

12.1 服务器端类的划分 232

12.2 游戏通信类 233

12.3 游戏协议类 243

12.4 游戏逻辑类 247

12.5 线程池类 250

12.6 用户管理类 252

12.7.1 CLobby大厅类 254

12.7 大厅管理类 254

12.7.2 CCard牌类 256

12.7.3 CTable桌子类 258

12.8 数据库类 259

12.9 小结 259

第13章 客户端框架程序设计 260

13.1 启动界面 260

13.1.1 用户登录窗口 260

13.1.2 代理服务器设置窗口 262

13.2 游戏大厅框架 263

13.2.1 游戏目录窗口 265

13.2.2 系统信息窗口 267

13.3 游戏房间框架 268

13.3.1 游戏桌窗口 269

13.3.2 站点列表窗口 272

13.3.3 在线用户列表窗口 274

13.3.4 发送聊天信息窗口 276

13.3.5 “聊天设置”窗口 277

13.3.6 系统设置窗口 278

13.3.7 邀请参加游戏窗口 279

13.3.8 输入游戏桌密码窗口 279

13.3.9 创建游戏室窗口 280

13.4 游戏牌局框架 281

13.4.1 游戏窗口 283

13.4.2 等待掉线用户窗口 284

13.4.3 退出游戏提示窗口 285

13.4.4 声称对话框 285

13.4.5 声称提示窗口 286

13.5 小结 287

第14章 游戏服务器端数据库处理 288

14.1 数据库开发方法 288

14.1.1 开放数据库连接(ODBC) 288

14.1.2 MFC ODBC类 289

14.1.4 OLE DB 290

14.1.3 MFC DAO(数据访问对象)编程 290

14.1.5 ActiveX数据对象(ADO) 291

14.2 数据库结构的访问与设计 291

14.2.1 数据库访问步骤 291

14.2.2 数据库结构设计 292

14.3 数据库访问的实现 295

14.3.1 采用的数据库开发方法 295

14.3.2 访问数据库程序代码 302

14.4 ASP访问数据库 309

14.5 小结 316