当前位置:  开发笔记 > 编程语言 > 正文

通过互联网UDP多播?

如何解决《通过互联网UDP多播?》经验,为你挑选了2个好方法。

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

我认为UDP多播是理想的 - 服务可以发送到多播组,无论有多少接收者已注册,或者即使没有.

但是,我希望能够通过互联网访问它,从我收集的内容来看,这是近乎不可能的UDP多播.我可能会用另一种方法来实现这个目标吗?

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



1> Stefan..:

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

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

不幸的是,您需要点对点通信.但是你的公司很好,互联网,广播和电视都是点对点的,无数次传输相同的数据.相当浪费带宽.


许多服务使用UDP或PGM进行本地多播.如果您需要通过Internet连接其他人(例如远程站点),则可以使用TCP隧道,该隧道侦听本地UDP并将流量路由到重新广播的另一端.这非常适合连接两个办公室等.如果您需要有关UDP的帮助,这里有一个教程:http://jarloo.com/code/networking/c-udp-multicasting-tutorial/
Mbone很久以前就关闭了,IPv6强制要求组播,一些ISP为德国和英国的DVB提供IPv4组播.

2> Steve-o..:

首选方法是使用覆盖多播,即在对等体之间使用TCP链路并实现其上的多播语义.

许多IPv4路由器不支持多播或禁用多播,IPv6被强制支持多播,并且已删除广播语义.

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有