在线游戏开发:实现网络通信功能
在开发在线游戏时,为程序添加在线游戏功能可能会非常复杂。为了避免代码混乱,便于维护和调试,我们的目标是创建可复用的对象,封装所需的新功能。本文将详细介绍如何实现这些功能,包括添加数据包分类、实现在线会话对象和创建监听器对象等。
1. 整体方案概述
为了实现程序的在线游戏功能,我们将参考 GameKit 的通信模型,创建类似的会话对象。需要创建两个新的通用类,以及几个分类来帮助将对象数组转换为字节流,反之亦然。同时,还需要一个新的视图控制器来呈现可用对等方的列表。
在开始编写新类之前,需要考虑如何确保发送的 NSData 对象能被对方设备重新组装。由于无法控制每次发送的字节数,我们将先发送对象的长度,再发送其字节,这样无论流如何分割,都能重新组装。
2. 更新井字棋游戏以支持在线游戏
我们将继续使用之前的井字棋应用程序。由于游戏的基本逻辑不变,不需要修改现有的 nib 文件,但需要对 TicTacToeViewController 进行一些更改,但不改变游戏逻辑。
2.1 添加数据包分类
我们需要具备将多个 NSData 实例转换为包含数据长度和实际字节的单个字节流的能力,同时也需要将字节流重新组装回 NSData 实例的方法。我们将使用分类为现有类添加这些功能。
具体操作步骤如下:
1. 打开 TicTacToe 项目,在“Groups & Files”面板中单击“Classes”文件夹,按 ⌘N 或从“File”菜单中选择“New File…”。
2. 在“Cocoa Touch C
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



