WebRTC数据通道服务器端到客户端的UDP通信.目前有可能吗?

WebRTC Data Channel server to clients UDP communication. Is it currently possible?

本文关键字:目前 通信 有可能 UDP 数据通道 服务器端 客户端 WebRTC      更新时间:2023-09-26

是否有可能在Node.js上使用WebRTC数据通道,以模仿WebSockets的功能,除了使用UDP?

本质上我想有一个运行Node.js的服务器,浏览器客户端可以通过JavaScript建立一个全双工双向UDP连接。

我的问题和8个月前的问题一样。我转发了它,因为唯一的答案是:

是的,理论上你应该能做到这一点。但是,您需要一个支持WebRTC数据通道的节点模块,以便您可以像连接任何其他对等点一样连接到它。不幸的是,扫描当前的模块,我没有看到实现数据通道的模块。

你们有人知道这样一个模块吗?在我的搜索中,我发现了一些带有"webrtc"answers"datachnel"字样的节点模块,但它们看起来不像需要的,它们看起来像是为特定需求而设计的。

这个项目非常活跃,似乎承担了将整个WebRTC堆栈导入node.js的任务还有这个项目,但是它看起来很不活跃。

很想知道这是否令人满意,如果你正在做这样的项目(如在问题中)请链接到github:)

我们已经实现了完全相同的事情:使用WebRTC的服务器/客户端方式。此外,我们还实现了数据端口多路复用,这样服务器只需要为所有rtcdata通道公开一个数据端口。

如何实现的快速总结:

  • 我们在nodejs中实现,使用wrtc库。但同样的原则也可以应用于其他实现。
  • 服务器公开一个控制端口,以便客户端与服务器交换sdp以建立他们的数据通道。
  • 为了支持数据端口复用,我们在服务器端修改了对端SDK,使
    1. 客户端将始终连接到相同的服务器ip:data_port
    2. 我们在服务器内部实现了一个UDP数据代理,这样它就可以成为服务器web引擎和客户端之间的桥梁。

代码在:https://github.com/noia-network/webrtc-direct