Actionscript 3 仅使用RTMFP进行随机匹配(Adobe Cirrus)
我正试图想出在一个简单的游戏中进行随机配对的最佳方法 在使用AdobeCirus进行netStreams实验时,我可以轻松地建立直接连接,发送数据、文本、视频和声音,所有这些都可以使用Cirrus,这非常好。我发现建立一个简单的P2P连接非常容易,而且它的工作原理和我所需要的一样 但我真的想实现一个随机配对功能,只使用卷云,所以一切都是通过p2p 我该如何在同一组中随机抓取一个与其他人没有直接联系的同伴 一些想法: -我在想也许我可以使用对象复制…当有人连接到GroupSpecifier时,我可以将另一个对象推送到这个共享阵列中,该阵列具有本地peerID及其状态。当他们在游戏中时,我可以改变阵型。但是我担心如果这个人只是关闭了网络窗口,他们的条目就不能保证被删除 -我还考虑过只向包含nearID的组发送一条“帖子”,其他同龄人可以获得帖子……而那些不在游戏中的人会尝试直接连接回来。然后,那一方将连接到它们。那么他们两个都会有直接的联系。但是我觉得如果可能有100多人“可用”…得到帖子…然后他们都尝试联系一个人,那么这可能会导致问题Actionscript 3 仅使用RTMFP进行随机匹配(Adobe Cirrus),actionscript-3,flash,apache-flex,flash-media-server,rtmfp,Actionscript 3,Flash,Apache Flex,Flash Media Server,Rtmfp,我正试图想出在一个简单的游戏中进行随机配对的最佳方法 在使用AdobeCirus进行netStreams实验时,我可以轻松地建立直接连接,发送数据、文本、视频和声音,所有这些都可以使用Cirrus,这非常好。我发现建立一个简单的P2P连接非常容易,而且它的工作原理和我所需要的一样 但我真的想实现一个随机配对功能,只使用卷云,所以一切都是通过p2p 我该如何在同一组中随机抓取一个与其他人没有直接联系的同伴 一些想法: -我在想也许我可以使用对象复制…当有人连接到GroupSpecifier时,我可
-另外,我也想过做Sendtonest…但这不是最好的匹配方式…因为我认为你只能有这么多邻居。。。如果团队中有1000人。你只能和几个被认为是你邻居的同龄人联系,对吗?然后,基本上你可以只与相同的5-10个人进行匹配,或者从技术上说,他们被视为邻居。我认为在匹配节点时没有任何方法可以避免超时和重试,因为1)存在未知和可变的网络延迟,2)连接可能在未知时间加入和离开 因此,任何试图连接到另一个节点的节点都必须保留以下有状态参数:
- 我与另一个节点匹配
- 我有一个未完成的匹配请求
- 我的未完成匹配请求是到节点X
这可能不是理想的解决方案-可能存在更好的解决方案,但我认为这比随机尝试节点或使用广播消息要好。好主意!我喜欢前两个的一些组合,带有一个令牌(或n个令牌,基于#个对等点)。为每个不匹配的对等方分配一段短时间的令牌。这是他们连接的机会,因此没有大量用户,如果他们不报告结果,他们将被删除。就像一个老式的令牌环网络:)