我使用GameKit通过wifi连接了许多设备。当对等体(客户端)接收数据时,我弹出一个简单的UIAlertView
。除了发件人(服务器)之外的所有人都会在发送数据时显示此警报视图,所以我想知道这是否是我的应用程序中的错误或者是否是预期的行为。如果执行发送的设备也是GKSessionModePeer
,我希望它能“触发”其receiveData:
消息,因为我发送给所有 同行
我应该在发件人设备上手动调用方法吗?例如,如果我想向4个电话发送“GameStart”数据包,则当收到该数据包并且服务将调用{{1}时,对等体将在startGame:
方法中调用receiveData:fromPeer:inSession:context:
。并且自己调用sendDataToAllPeers:
。
这听起来是否合适,或者是否有办法将发件人包含在startGame:
列表中,以便它与所有连接的同行完全相同?
答案 0 :(得分:2)
我认为,服务员是指发件人,即。发送数据的那个。 (服装=预定的收件人,在你的情况下是每个人)。
这是预期的行为。 “所有对等方”不包括发件人,并且您当前无法在sendDataToAllPeers:列表中包含发件人。您在将消息发送给对等方的同时在发送方设备上手动调用方法的计划听起来像是最好的方法。
如果您想在发件人上做某事之前确定数据是否正常,您可以发回同行的确认。