Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/44.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iPhone游戏中心重新连接_Iphone_Center - Fatal编程技术网

iPhone游戏中心重新连接

iPhone游戏中心重新连接,iphone,center,Iphone,Center,我有一个四人乒乓球游戏,当一个玩家断开连接时(因为任何原因,打电话,无聊,赶公共汽车),其他玩家可以继续玩。然而,我希望那个人能够在通话结束后重新连接,有人知道我如何才能做到这一点吗 当两个玩家进化时,我会再次邀请那个人,但在这种情况下我该怎么做呢 编辑: 我忘了提到我正在使用游戏中心API。因此,我正在使用match对象向玩家发送数据,但在玩家断开连接后,比赛是否仍然有效?如果没有,是否有方法重新加入比赛?1)创建一个密钥,将此用户定义为此游戏的一部分(可能是与此游戏的所有玩家共享的UUID以

我有一个四人乒乓球游戏,当一个玩家断开连接时(因为任何原因,打电话,无聊,赶公共汽车),其他玩家可以继续玩。然而,我希望那个人能够在通话结束后重新连接,有人知道我如何才能做到这一点吗

当两个玩家进化时,我会再次邀请那个人,但在这种情况下我该怎么做呢

编辑: 我忘了提到我正在使用游戏中心API。因此,我正在使用match对象向玩家发送数据,但在玩家断开连接后,比赛是否仍然有效?如果没有,是否有方法重新加入比赛?

1)创建一个密钥,将此用户定义为此游戏的一部分(可能是与此游戏的所有玩家共享的UUID以及y组件的用户x?)

2) 搜索中断后重新启动应用程序的方法


3) 重新启动,将唯一密钥发送到服务器,重新加入游戏

也许你的游戏有用户名?所以,如果一个玩家断开连接,然后在他连接到服务器时再次出现,请检查该用户名是否在以前的游戏/房间中?注意:这意味着用户名应该是唯一的

否则,请执行某种用户ID系统,在该系统中,要注册到游戏的每个新用户都会获得一个比前一个用户递增的数字,以注册该数字,并将该数字保存到客户端,就像浏览器中的cookies一样,并在断开连接的玩家再次加入时将该数字发送到服务器

这两种方法都可以通过反向工程保存的文件或选择在不同手机上断开连接的用户名来轻松利用

最好的方法是使用某种用户名/密码系统,使所有用户名都是唯一的

如果用户第二次/第三次连接,则服务器应发出某种消息,说明该用户当前已登录


如果那个人被打断,那么要么发送一个断开连接的数据包,要么如果你不能,服务器可以处理这个问题。或者与服务器的连接将丢失,因此用户的状态变为断开连接。还是说这种联系还活着?也许是UDP套接字?如果没有响应,服务器将尝试发送乒乓类型的数据包,显然用户已断开与该应用程序的连接,因此将状态设置为断开连接等。

当用户再次登录(第2次、第3次……)时,该怎么办?首先,凯文,感谢您的回复。第二,关于游戏中心,我正在使用Match对象我可以存储这个对象,但我不确定它是否足以重新加入比赛。我现在就试试。该死,我忽略了这一部分:在现有比赛中添加球员有时候,你可能已经有了一场比赛,只想在其中添加球员。例如,如果您的游戏需要四名玩家,而一名玩家断开连接,您可能希望提供寻找替代者的选项,而不是中止正在进行的比赛。为此,您使用了与清单5-7中类似的代码,但应用程序没有调用findMatchForRequest:withCompletionHandler:,而是调用AddPlayerToMatch:matchRequest:completionHandler方法,为要添加玩家的比赛添加附加参数。