如何通过GameKit从iPhone蓝牙中的客户端告诉主机
-
10-07-2019 - |
题
我使用GameKit框架制作了一个多人游戏,其中2个iPhone / iPod可以通过蓝牙和播放相互连接。
我正在考虑选择哪种设备可以先播放的方法。因此,逻辑解决方案是选择连接的主机。 GKSession中是否还有服务器和客户端?他们都是同龄人吗?我应该采取哪条路线来实现我的需要?
解决方案
基本上,您可以根据需要配置会话。
来自Apple文档:
Sessions发现其他同行 网络基于会话模式 会话时设置 初始化。你的申请可以 将会话配置为服务器, 它在广告上宣传服务类型 网络;搜索的客户端 广告服务器;或者是同伴,哪个 广告如服务器和搜索 像客户一样。
您的申请副本 server初始化会话 调用 initWithSessionID:显示名:sessionMode: 使用会话模式 GKSessionModeServer或 GKSessionModePeer。之后 应用程序配置会话,它 通过设置广告来宣传服务 session <!>#8217; s isAvailable属性为YES。
您的申请副本 客户端初始化会话 调用 initWithSessionID:显示名:sessionMode: 使用会话模式 GKSessionModeClient或 GKSessionModePeer。配置完成后 会话,您的应用程序搜索 广告服务器的网络 设置会话<!>#8217; s isAvailable 财产到是。如果是会话 使用GKSessionModePeer配置 会话模式它也宣传自己 作为服务器,如上所述。
因此,如果您使用GKSessionModePeer初始化会话,则您拥有对等方(同时充当服务器和客户端)。如果要区分服务器和客户端,请使用GKSessionModeServer初始化它。
亲切的问候。