如何最大程度地减少两个对等方再次相互连接的机会

时间:2018-07-01 05:36:46

标签: algorithm p2p peerjs system-design

我建立了一个与Omegle / Chatroulette非常相似的网站。但是,由于没有(也许永远没有)许多用户,当用户想要与某人联系时,我很难在应用程序内实现一些随机化。

我经常要防止两个用户一遍又一遍地建立联系。

我正在使用Peer.js进行P2P连接。它的工作方式是用户可以处于两种状态之一。他们可能正在发出呼叫,也可能正在寻找呼叫。只有这两种类型的用户可以彼此连接。

现在,我的网络应用程序的工作方式是,当用户访问我的应用程序时,他们会被放入呼叫者的池中。如果1秒钟后没有人接听电话,我会将那个用户转移到另一个接收者池中。他们将继续来回切换直到建立连接。

我的方法存在的问题是,两个用户相互重新连接很常见。通过记住单个用户已连接的每个用户ID并确保它不会再次与之连接,可以防止这种情况。但这似乎是错误的方法。另外,如果两个用户再次重新建立连接也很好,但是我希望在初次连接之后发生这种情况的可能性要低得多。

解决此问题的最佳方法或最佳算法/数据结构是什么。我愿意接受任何资源或任何建议。我不确定Omegle或chat如何解决此问题。

0 个答案:

没有答案