如何使用 GameKit 在 iPhone 蓝牙中区分主机和客户端

2023-11-29

我使用 GameKit 框架制作了一款多人游戏,其中 2 个 iPhone/iPod 可以通过蓝牙相互连接并玩。

我正在考虑一种方法来选择哪个设备可以先播放。因此,合理的解决方案是选择连接的主机。 GKSession 中是否有服务器和客户端?他们都是同龄人吗?我该走哪条路才能达到我的需要?


基本上,您可以根据自己的喜好配置会话。

来自苹果文档:

会话发现其他对等点 基于会话模式的网络 会话时设置 已初始化。您的应用程序可以 将会话配置为服务器, 它在上发布服务类型 网络;一个客户端,它搜索 广告服务器;或同伴,其中 像服务器一样做广告和搜索 同时就像一个客户。

您的申请副本作为 服务器通过以下方式初始化会话 呼叫 initWithSessionID:显示名称:会话模式: 会话模式为 GKSessionModeServer 或 GKSessionModePeer。之后 应用程序配置会话,它 通过设置来宣传该服务 session 的 isAvailable 属性设置为 YES。

您的申请副本作为 客户端通过以下方式初始化会话 呼叫 initWithSessionID:显示名称:会话模式: 会话模式为 GKSessionModeClient 或 GKSessionModePeer。配置后 会话中,您的应用程序搜索 广告服务器网络 设置会话的 isAvailable 属性为 YES。如果会话是 使用 GKSessionModePeer 配置 会话模式它也宣传自己 作为服务器,如上所述。

因此,如果您使用 GKSessionModePeer 来初始化会话,您就拥有了对等点(既充当服务器又充当客户端)。如果您想区分服务器和客户端,请使用 GKSessionModeServer 对其进行初始化。

亲切的问候。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 GameKit 在 iPhone 蓝牙中区分主机和客户端 的相关文章

随机推荐