websocket - webRTC 文本聊天 - 项目、PeerConnection 和握手设置

标签 websocket chat webrtc

目标:

使用 webRTC(无视频或音频)在网页上创建一个非常基本的文本聊天室。首先,我不关心创建聊天室、拥有用户名或支持大量连接。我只想将其设置为支持前 2 个人访问该网页,以便他们可以发送/查看消息。

基本上我想创建与这个漂亮的 demo 非常相似的东西, 除了让 2 个人互相交谈而不是只与自己交谈。

计划:

我计划使用免费的虚拟主机网站来获取免费域并上传我的 .html.js.css文件到。这个我已经做过了。我不想使用任何支持库来设置连接,因为我这样做是为了学习经验。

据我了解,这些事情需要发生才能使这项工作成功。需要建立一个 PeerConnection。需要握手才能打开 PeerConnection。并且需要打开一个 DataChannel 来发送实际的消息。

问题/疑虑:

  • 因为我对音频/视频不感兴趣,所以我不必担心 STUNTURN 对吗?这些只是正确处理发送媒体所必需的吗?

  • 我可以只使用 WebSockets 来完成完整的握手过程吗?

  • 我可以在没有任何服务器的情况下完成这个项目吗?

我看过的所有教程/演示都没有明确的文本聊天(连接到其他人)所以这就是为什么我不确定没有音频/视频是否允许我这样做我想要。

感谢您提供的任何帮助。我不是在寻找代码,我是在尝试定义我的项目布局。如果我在这里提到的任何内容有误或不起作用,请告诉我!

最佳答案

Since I'm not interested in audio/video I don't have to worry about STUN or TURN right? These are only required to handle sending media correctly?

您可能需要 STUN 和 TURN。 WebRTC 建立直接的点对点通信,如果没有至少一个 STUN 服务器,有时是一个 TURN 服务器,这通常是困难的或不可能的。

Can I use just WebSockets to accomplish the complete handshaking process?

您需要提供某种方式从浏览器 A 向浏览器 B 获取消息。通常的方法是使用 Web 服务器和 WebSockets,或者有时使用 HTTP。

Can I accomplish this project without having to have any sort of server?

没有。您可以使用软盘将 HTML 和 Javascript 发送到客户端,但为了设置点对点通信,您将需要能够在客户端之间近乎实时地传输消息的东西。这通常是一个服务器。 (我看过使用电子邮件或复制粘贴的演示,但它们很脆弱。

关于websocket - webRTC 文本聊天 - 项目、PeerConnection 和握手设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21556244/

相关文章:

webrtc - CentOS7安装janus-gateway报错

node.js - 使用 socket.io、socket.io-p2p、socket.io-p2p-server 自动配对对等连接

网络托管和 websocket 技术

javascript - try catch 在 Node socket.io 监听器中不起作用

css - 如何使用CSS根据用户ID设置聊天框

webrtc - WebRTC 的信令 channel

go - 当其中一个关闭时交换 websocket 连接

javascript - Node 未运行

php - 如何在免费的 cPanel 主机中运行 PHP 聊天程序?

android - 与已经注册的用户实现聊天功能