我想要做的是创建一个简单的虚拟教室项目,比如Adobe,但使用Flutter
和NodeJS
显然更简单,我需要以下选项:
当我搜索到目前为止,我发现WebRTC
似乎也适用于视频/语音流和屏幕共享。
另外,大多数livechat项目都使用Socket.IO
。
我在这里的主要问题是,我能不能知道我是否可以使用WebRTC
进行实时视频/语音流和实时聊天?这是一个好主意,还是最好将Socket.IO
和WebRTC
结合在一起?
此外,我还想知道我能不能使用这些库中的每一个用于文件共享的目的?
发布于 2022-06-29 03:10:12
WebRTC为您提供了更低的延迟和大量的会议功能。因此,对于视频/音频通话和屏幕共享,这肯定是一个更好的选择。
此外,还有一种使用p2p通信的选项,它可以更多地减少延迟,并节省服务器端的资源。尽管如果您打算支持许多参与者,但这似乎不太有益--如果您总共拥有n-1
用户,那么您将需要为每个用户维护n
连接。
对于实时聊天、白板和文件共享,在性能方面没有太大的差别。需要考虑的事项:
我可以只使用WebRTC进行实时视频/语音流和实时聊天吗?
是的,您可以,有一个用于交换任意数据的RTCDataChannel接口。它可以用于实时聊天/白板/文件传输。
作为一个很好的例子,有一个开源项目点名,它通过与会议相同的连接通过WebRTC实现聊天和文件传输。
Websockets也可以用于文件传输,请查看这个图书馆。
发布于 2022-06-30 10:11:57
使用WebRTC需要信令服务器,而信令通常是使用websocket实现的,请查看mdn文章信令和视频呼叫。
使用websocket,您也可以实现livechat,所以这不是一种或两种情况,而是两者都有。
https://stackoverflow.com/questions/72792952
复制相似问题