嗨,我是iOS游戏中心的新玩家。我正在尝试使用匹配将多人游戏功能添加到我的游戏中并遵循文档。使用GKMatch的游戏中心多人游戏,但似乎无法连接
到目前为止,我达到了我的客户中有2个可以成功获得匹配的点,即matchmakerViewController:didFindMatch回调被调用并且GKMatch对象被传递。
但是在那之后我似乎永远卡在那里,因为根据文档,我必须等到所有玩家(我的情况是2)在开始我的游戏之前实际连接。但它似乎是匹配:播放器:didChangeState回调永远不会被调用来指示成功的连接。那么,我确定我的客户都在同一个无线网络中(或者是必须的?)任何人都可以在这种情况下启发我吗?我是否必须做任何额外的事情才能让客户连接?非常感谢您的帮助!
对这个问题进行了一些更新,我终于做了一次wireshark捕获所有流量,并且我发现Game Center需要使用STUN来克服路由器/ NAT /防火墙,并且通过查看RFC,它说:“当STUN用于获得地址以便与恰好在同一NAT后面的对等方进行通信时,STUN不起作用。”,好吧,我想这可能是我的问题的根源,我的两个客户都在无线路由器的专用网络(192.168.2.x)。但我不确定当我进行测试时,什么是最好的方法来克服这个问题....任何想法? – 2010-12-04 18:40:12
我有和你一样的问题,但我不认为你上面提到的STUN问题是问题所在,因为我使用连接到两个不同的NAT网络的设备进行了测试。 – thomdask 2010-12-05 12:34:31