图书介绍
Unity3D网络游戏实战【2025|PDF|Epub|mobi|kindle电子书版本百度云盘下载】

- 罗培羽著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111612179
- 出版时间:2019
- 标注页数:416页
- 文件大小:137MB
- 文件页数:434页
- 主题词:游戏程序-程序设计
PDF下载
下载说明
Unity3D网络游戏实战PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 网络游戏的开端:Echo1
1.1藏在幕后的服务端1
1.2网络连接的端点:Socket3
1.2.1 Socket3
1.2.2 IP地址3
1.2.3端口4
1.2.4 Socket通信的流程6
1.2.5 TCP和UDP协议7
1.3开始网络编程:Echo8
1.3.1什么是Echo程序8
1.3.2编写客户端程序8
1.3.3客户端代码知识点10
1.3.4完成客户端11
1.3.5创建服务端程序12
1.3.6编写服务端程序14
1.3.7服务端知识点15
1.3.8测试Echo程序15
1.4更多API16
1.5公网和局域网17
第2章 分身有术:异步和多路复用19
2.1什么样的代码是异步代码19
2.2异步客户端20
2.2.1异步Connect21
2.2.2 Show Me The Code22
2.2.3异步Receive23
2.2.4异步Send26
2.3异步服务端29
2.3.1管理客户端29
2.3.2异步Accept30
2.3.3程序结构31
2.3.4代码展示31
2.4实践:做个聊天室35
2.4.1服务端35
2.4.2客户端35
2.4.3测试36
2.5状态检测Poll36
2.5.1什么是Poll36
2.5.2 Poll客户端37
2.5.3 Poll服务端38
2.6多路复用Select41
2.6.1什么是多路复用41
2.6.2 Select服务端42
2.6.3 Select客户端44
第3章 实践出真知:大乱斗游戏45
3.1什么是大乱斗游戏45
3.2搭建场景46
3.3角色类Human49
3.3.1类结构设计49
3.3.2 BaseHuman49
3.3.3角色预设51
3.3.4 CtrlHuman54
3.3.5 SyncHuman57
3.4如何使用网络模块57
3.4.1委托57
3.4.2通信协议59
3.4.3消息队列60
3.4.4 NetManager类60
3.4.5测试网络模块64
3.5进入游戏:Enter协议66
3.5.1创建角色67
3.5.2接收Enter协议70
3.5.3测试Enter协议70
3.6服务端如何处理消息72
3.6.1反射机制72
3.6.2消息处理函数73
3.6.3事件处理74
3.6.4玩家数据76
3.6.5处理Enter协议77
3.7玩家列表:List协议77
3.7.1客户端处理78
3.7.2服务端处理79
3.7.3测试79
3.8移动同步:Move协议80
3.8.1客户端处理80
3.8.2服务端处理81
3.8.3测试81
3.9玩家离开:Leave协议82
3.9.1客户端处理82
3.9.2服务端处理82
3.9.3测试82
3.10攻击动作:Attack协议83
3.10.1播放攻击动作83
3.10.2客户端处理87
3.10.3服务端处理88
3.10.4测试88
3.11攻击伤害:Hit协议89
3.11.1客户端处理89
3.11.2服务端处理91
3.12角色死亡:Die协议91
3.12.1客户端处理91
3.12.2测试92
第4章 正确收发数据流94
4.1 TCP数据流94
4.1.1系统缓冲区94
4.1.2粘包半包现象96
4.1.3人工重现粘包现象97
4.2解决粘包问题的方法97
4.2.1长度信息法97
4.2.2固定长度法98
4.2.3结束符号法98
4.3解决粘包的代码实现99
4.3.1发送数据99
4.3.2接收数据99
4.3.3处理数据101
4.3.4完整的示例104
4.3.5测试程序106
4.4大端小端问题109
4.4.1为什么会有大端小端之分110
4.4.2使用Reverse()兼容大小端编码111
4.4.3手动还原数值111
4.5完整发送数据112
4.5.1不完整发送示例113
4.5.2如何解决发送不完整问题113
4.5.3 ByteArray和Queue117
4.5.4解决线程冲突120
4.5.5为什么要使用队列121
4.6高效的接收数据122
4.6.1不足之处122
4.6.2完整的ByteArray123
4.6.3将ByteArray应用到异步程序129
第5章 深入了解TCP,解决暗藏问题133
5.1从TCP到铜线133
5.1.1应用层133
5.1.2传输层134
5.1.3网络层135
5.1.4网络接口135
5.2数据传输流程136
5.2.1 TCP连接的建立136
5.2.2 TCP的数据传输137
5.2.3 TCP连接的终止138
5.3常用TCP参数138
5.3.1 ReceiveBufferSize138
5.3.2 SendBufferSize139
5.3.3 NoDelay139
5.3.4 TTL140
5.3.5 ReuseAddress141
5.3.6 LingerState142
5.4 Close的恰当时机144
5.5异常处理146
5.6心跳机制147
第6章 通用客户端网络模块148
6.1网络模块设计148
6.1.1对外接口148
6.1.2内部设计149
6.2网络事件150
6.2.1事件类型151
6.2.2监听列表151
6.2.3分发事件152
6.3连接服务端152
6.3.1 Connect152
6.3.2 ConnectCallback154
6.3.3测试程序155
6.4关闭连接156
6.4.1 isClosing157
6.4.2 Close157
6.4.3测试158
6.5 Json协议158
6.5.1为什么会有协议类158
6.5.2使用 JsonUtility159
6.5.3协议格式160
6.5.4协议文件161
6.5.5协议体的编码解码162
6.5.6协议名的编码解码163
6.6发送数据165
6.6.1 Send165
6.6.2 SendCallback166
6.6.3测试167
6.7消息事件168
6.8接收数据170
6.8.1新的成员171
6.8.2 ConnectCallback171
6.8.3 ReceiveCallback172
6.8.4 OnReceiveData172
6.8.5 Update174
6.8.6测试175
6.9心跳机制176
6.9.1 PING和PONG协议176
6.9.2成员变量177
6.9.3发送PING协议178
6.9.4监听PONG协议178
6.9.5测试179
6.10 Protobuf协议179
6.10.1什么是Protobuf179
6.10.2编写proto文件180
6.10.3生成协议类181
6.10.4导入protobuf-net.dll183
6.10.5编码解码183
第7章 通用服务端框架186
7.1服务端架构187
7.1.1总体架构187
7.1.2模块划分187
7.1.3游戏流程188
7.2 Json编码解码189
7.2.1添加协议文件189
7.2.2引用System.web.Extensions190
7.2.3修改MsgBase类191
7.2.4测试192
7.3网络模块193
7.3.1整体结构193
7.3.2 ClientState194
7.3.3开启监听和多路复用194
7.3.4处理监听消息196
7.3.5处理客户端消息197
7.3.6关闭连接198
7.3.7处理协议199
7.3.8Timer200
7.3.9发送协议201
7.3.10测试202
7.4心跳机制204
7.4.1 lastPingTime204
7.4.2时间戳204
7.4.3回应MsgPing协议205
7.4.4超时处理205
7.4.5测试程序206
7.5玩家的数据结构206
7.5.1完整的ClientState206
7.5.2 PlayerData208
7.5.3 Player208
7.5.4 PlayerManager209
7.6配置MySQL数据库211
7.6.1安装并启动MySQL数据库211
7.6.2安装Navicat for MySQL213
7.6.3配置数据表214
7.6.4 安装connector215
7.6.5 MySQL基础知识216
7.7数据库模块217
7.7.1连接数据库218
7.7.2防止SQL注入220
7.7.3IsAccountExist220
7.7.4 Register221
7.7.5 CreatePlayer223
7.7.6 CheckPassword224
7.7.7 GetPlayerData225
7.7.8 UpdatePlayerData226
7.8登录注册功能226
7.8.1注册登录协议227
7.8.2记事本协议228
7.8.3注册功能229
7.8.4登录功能229
7.8.5退出功能231
7.8.6 获取文本功能231
7.8.7 保存文本功能231
7.8.8客户端界面232
7.8.9 客户端监听233
7.8.10客户端注册功能235
7.8.11客户端登录功能235
7.8.12客户端记事本功能236
7.8.13测试236
第8章 完整大项目《坦克大战》239
8.1《坦克大战》游戏功能239
8.1.1登录注册239
8.1.2房间系统240
8.1.3战斗系统241
8.2坦克模型242
8.2.1导入模型242
8.2.2模型结构243
8.3资源管理器245
8.3.1设计构想245
8.3.2代码实现245
8.3.3测试246
8.4坦克类246
8.4.1设计构想246
8.4.2代码实现246
8.4.3测试247
8.5行走控制248
8.5.1速度参数249
8.5.2移动控制249
8.5.3测试250
8.5.4走在地形上251
8.6坦克爬坡253
8.6.1 Unity的物理系统253
8.6.2添加物理组件253
8.6.3测试254
8.7相机跟随255
8.7.1功能需求255
8.7.2数学原理255
8.7.3编写代码257
8.7.4测试258
8.8旋转炮塔260
8.8.1炮塔元素260
8.8.2旋转控制261
8.8.3测试262
8.9发射炮弹262
8.9.1制作炮弹预设262
8.9.2制作爆炸效果263
8.9.3炮弹组件264
8.9.4坦克开炮266
8.9.5测试268
8.10摧毁敌人269
8.10.1坦克的生命值269
8.10.2焚烧特效270
8.10.3坦克被击中处理271
8.10.4炮弹的攻击处理272
8.10.5测试272
第9章UI界面模块274
9.1界面模块的设计274
9.1.1简单的界面调用274
9.1.2通用界面模块275
9.2场景结构277
9.3面板基类BasePanel278
9.3.1设计要点278
9.3.2代码实现278
9.3.3知识点279
9.4界面管理器PanelManager281
9.4.1层级管理281
9.4.2打开面板282
9.4.3关闭面板284
9.5登录面板LoginPanel284
9.5.1导入资源284
9.5.2 UI组件286
9.5.3制作面板预设286
9.5.4登录面板类289
9.5.5打开面板289
9.5.6引用UI组件290
9.5.7网络监听291
9.5.8登录和注册按钮293
9.5.9 收到登录协议293
9.6注册面板RegisterPanel294
9.6.1制作面板预设294
9.6.2注册面板类296
9.6.3按钮事件298
9.6.4收到注册协议299
9.7提示面板TipPanel300
9.7.1制作面板预设300
9.7.2提示面板类301
9.7.3测试面板302
9.8游戏入口GameMain303
9.8.1设计要点303
9.8.2代码实现304
9.8.3缓存用户名305
9.9功能测试306
9.9.1登录306
9.9.2注册307
9.9.3下线309
第10章 游戏大厅和房间310
10.1列表面板预设311
10.1.1整体结构311
10.1.2个人信息栏312
10.1.3操作栏312
10.1.4房间列表栏313
10.1.5 Scroll View315
10.1.6列表项Room316
10.2房间面板预设318
10.2.1整体结构318
10.2.2 列表栏319
10.2.3列表项 player320
10.2.4控制栏322
10.3协议设计322
10.3.1查询战绩MsgGetAchieve协议323
10.3.2查询 房间列表MsgGetRoom-List协议323
10.3.3创建房间 MsgCreateRoom协议324
10.3.4进入房间 MsgEnterRoom协议324
10.3.5查询房间信息 MsgGetRoom-Info协议324
10.3.6退出房间 MsgLeaveRoom协议325
10.3.7开始战斗MsgStartBattle协议325
10.4列表面板逻辑326
10.4.1面板类326
10.4.2获取部件326
10.4.3网络监听328
10.4.4刷新战绩329
10.4.5刷新房间列表329
10.4.6 加入房间330
10.4.7创建房间331
10.4.8刷新按钮332
10.5房间面板逻辑332
10.5.1面板类332
10.5.2获取部件333
10.5.3网络监听334
10.5.4刷新玩家列表334
10.5.5退出房间336
10.5.6开始战斗336
10.6打开列表面板337
10.7服务端玩家数据337
10.7.1存储数据338
10.7.2临时数据338
10.8服务端房间类339
10.8.1管理器和房间类的关系339
10.8.2房间类的设计要点340
10.8.3添加玩家341
10.8.4选择阵营343
10.8.5删除玩家343
10.8.6选择新房主345
10.8.7广播消息345
10.8.8生成房间信息345
10.9服务端房间管理器347
10.9.1数据结构347
10.9.2获取房间347
10.9.3添加房间348
10.9.4删除房间348
10.9.5生成列表信息348
10.10服务端消息处理349
10.10.1查询战绩MsgGet-Achieve350
10.10.2查询房间列表MsgGetRoom-List350
10.10.3创建房间MsgCreate-Room351
10.10.4进入房间MsgEnterRoom351
10.10.5查询房间信息 MsgGet-RoomInfo352
10.10.6离开房间 MsgLeave-Room352
10.11玩家事件处理353
10.12测试354
第11章 战斗和胜负判定358
11.1协议设计358
11.1.1进入战斗MsgEnterBattle359
11.1.2战斗结果MsgBattleResult359
11.1.3退出战斗MsgLeaveBattle360
11.2坦克360
11.2.1不同阵营的坦克预设360
11.2.2战斗模块361
11.2.3同步坦克SyncTank362
11.2.4坦克的属性362
11.3战斗管理器363
11.3.1设计要点363
11.3.2管理器类363
11.3.3坦克管理364
11.3.4重置战场365
11.3.5开始战斗366
11.3.6产生坦克367
11.3.7战斗结束369
11.3.8玩家离开369
11.4战斗结果面板369
11.4.1面板预设369
11.4.2面板逻辑371
11.5服务端开启战斗373
11.5.1能否开始战斗373
11.5.2定义出生点373
11.5.3坦克信息376
11.5.4开启战斗377
11.5.5消息处理377
11.6服务端胜负判断378
11.6.1是否死亡379
11.6.2胜负决断函数379
11.6.3定时器380
11.6.4 Room::Update380
11.7服务端断线处理381
11.8测试382
11.8.1进入战场382
11.8.2离开战场384
第12章 同步战斗信息386
12.1同步理论387
12.1.1同步的过程387
12.1.2同步的难题387
12.2状态同步389
12.2.1直接状态同步389
12.2.2跟随算法390
12.2.3预测算法390
12.3帧同步391
12.3.1指令同步391
12.3.2从Update说起392
12.3.3什么是同步帧393
12.3.4指令394
12.3.5指令的执行394
12.4协议设计395
12.4.1位置同步MsgSyncTank396
12.4.2开火MsgFire396
12.4.3击中MsgHit397
12.5发送同步信息397
12.5.1发送位置信息397
12.5.2发送开火信息398
12.5.3发送击中信息399
12.6处理同步信息400
12.6.1协议监听400
12.6.2 OnMsgSyncTank401
12.6.3 OnMsgFire401
12.6.4 OnMsgHit402
12.7同步坦克SyncTank402
12.7.1预测算法的成员变量402
12.7.2移动到预测位置403
12.7.3 初始化404
12.7.4更新预测位置405
12.7.5炮弹同步406
12.8服务端消息处理406
12.8.1位置同步MsgSyncTank407
12.8.2 开火MsgFire408
12.8.3 击中MsgHit409
12.8.4调试410
12.9完善细节412
12.9.1滚动的轮子和履带412
12.9.2灵活操作413
12.9.3准心413
12.9.4 自动瞄准414
12.9.5界面和场景优化414
12.9.6 战斗面 板415
12.9.7击杀提示416
12.10结语416
热门推荐
- 1604904.html
- 1771195.html
- 3156180.html
- 1322541.html
- 3275335.html
- 2939489.html
- 877877.html
- 574493.html
- 1584716.html
- 3143656.html
- http://www.ickdjs.cc/book_2101420.html
- http://www.ickdjs.cc/book_2504589.html
- http://www.ickdjs.cc/book_2005039.html
- http://www.ickdjs.cc/book_2662289.html
- http://www.ickdjs.cc/book_760415.html
- http://www.ickdjs.cc/book_3651181.html
- http://www.ickdjs.cc/book_2555272.html
- http://www.ickdjs.cc/book_2360780.html
- http://www.ickdjs.cc/book_1185263.html
- http://www.ickdjs.cc/book_3760320.html