c# - 互联网上的 UDP 多播?

标签 c# udp multicast

我不确定如何最好地解决我的问题。我有一个在远程机器上运行的服务,可以接收和处理 UDP 数据包。我希望该服务能够将这些数据包重新发送给碰巧需要它们的任何人(可能没有人,通常是一台机器,但可能更多)

我认为 UDP 多播是理想的选择——该服务可以发送到多播组,而不管有多少接收者已注册,即使没有也无所谓。

但是,我希望能够通过 Internet 访问它,据我所知,使用 UDP 多播几乎是不可能的。我可以使用另一种方法来实现这一目标吗?

如果相关的话,我的客户端和服务都是用 C# 编写的。

最佳答案

通常这是不可能的,因为多播数据包不会被路由。

有一些技术可以解决这个问题(DVMRP、MOSPF 等),但它们都要求您可以配置服务器和客户端之间的所有路由器(或创建隧道)。有支持多播的 Backbone (Abilene、Mbone),但大学等最感兴趣的是这些。普通消费者的互联网没有多播。

不幸的是,您需要点对点通信。但你们相处融洽,互联网、广播和电视都是点对点的,多次传输相同的数据。相当浪费带宽。

关于c# - 互联网上的 UDP 多播?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3068497/

相关文章:

c# - post 方法是否可以在继续该方法之前向用户返回确认框?

c# - 使用参数指令时 T4 模板 NullReferenceException

udp - gstreamer 的 udpsink 在发送约 1000 个数据包后停止流式传输

c# - 如何多播 DirectShow 捕获的流?

vb.net - 添加一个包含所有四个数学过程的多播委托(delegate)?

android - 多播 ping 回显到我的客户端

c# - LDAP 与 ADSI 在操作 Active Directory 用户方面的比较

c# - 如何在不实例化对象或没有静态方法的情况下获取类的名称?

networking - 从 Docker 容器发送多播数据包(到多播组)

networking - 为什么不使用UDP进行视频点播会引起串扰?