找素材网(www.zsc5.com):提供精品PPT模板免费下载!
首页 > Office教程 > PPT教程 > PPT制作软件 > WebRTC怎么实现群组聊天

WebRTC怎么实现群组聊天

时间:2022-05-13 02:50:25来源: 作者: 点击:
Wearbuds安卓版V3.5.1

Wearbuds安卓版V3.5.1

类型:直播下载
大小:27.4 MB
语言:简体中文

在WebRTC中实现群聊和文件共享的方式有很多种。下面是一些常用的方法,有需要的用户可以参考。

WebRTC怎么实现群组聊天

WebRTC没有任何处理多对多通信的内置概念。所以有以下几种选择:

创建一个全网状连接

对于相对较小的组,可以在每两个对等体之间建立连接。这被称为“全网状拓扑”。

image.png

整个网络结构的好处是它们比较分散,比较简单。但一个很大的问题是它缺乏可扩展性——每增加一个新用户,连接总数就会增加n-1。同样,每条消息也要分别发给每个用户,这样会占用很多带宽。

00-1010全网状结构不是创建独立的端到端拓扑的唯一方式。其他处理方法,如小世界网络或分层/树形网络,可以通过将一些节点变成中继来传输数据,从而在可扩展性和延迟之间做出更好的折衷。

00-1010对于许多用例,最好避免一起进行端到端的通信,而是要有一个服务器端的进程连接。对于大量的WebRTC用户,如Google Hangouts或Twilio,对等点是一个收集、聚合、处理和传输数据的服务器。你可以在本系列教程后面的文章中了解到选择性传输单元,网桥,组播等等。

image.png

00-1010在本节中,我们将在用户之间创建一个完整的网络连接。为了完成这项任务,我们需要采取以下步骤:

我们为每个用户生成一个随机的用户id

我们将此用户id存储在deepstreamHub列表中

每当用户想要加入时,需要与列表中的每个用户建立连接。

为了广播消息,我们重复所有连接,并将消息发送给每个用户。

当连接断开时,其他用户会将连接移出房间。

给出以上步骤是如何工作的:(可以点击这里在Github上查看这个例子,原文最后有动态演示)

我们首先连接到deepstreamHub并生成一个随机的用户id:

image.png

为了跟踪聊天室中的用户ID,让我们创建一个deepstreamHub列表—一个可见的字符串组,其状态将与所有连接的用户共享。因为我们自己的用户也是聊天室的成员,所以我们直接把自己的用户名添加到列表中。

image.png

现在,一旦一个用户被添加到列表中,我们就必须建立到这个用户的端到端连接。

image.png

这里的连接类似于我们在数据通道教程中提到的连接,封装在一个迅雷里。它们之间只有两个区别:

00-1010每个对等体必须来回发送SDP以建立连接——但是由于我们现在正在创建多连接呼叫,所以我们仍然需要接收多个信号。为了处理这些信号,我们注册了一个中央消息监听器。传入的消息将被路由到相关的接收者:

image.png

00-1010当连接关闭时,我们需要从列表中删除相关用户。我们使用了一个removeEntry()来实现这个功能。

image.png

你可以点击这里查看完整的代码,或者点击下图跳转到原文来试试这个例子。

image.png

00-1010 GeForce GTX 760怎么样

打开dat文件的操作过程

如何安装vim

其他网络拓扑结构

转载务必注明出处!本文地址:https://www.zsc5.com/office/powerpoint/ruanjian/9446.html

最新内容