我使用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初始化它。

亲切的问候。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top