C++ 服务器多播-MFC CSocket-C++;-如何?

C++ 服务器多播-MFC CSocket-C++;-如何?,c++,sockets,mfc,multicast,C++,Sockets,Mfc,Multicast,我正在使用一些协议创建自己的服务器:TCP-PULL ok、TCP-PUSH ok、UDP-PULL ok(但我不能同时为两个客户端提供服务!)、UDP-PUSH ok(同样的问题)。 现在,我需要创建我的最后一个协议:多播推送,但是我不能理解它是如何工作的,而且我真的不知道如何用C++来编码它。我读过关于加入组的内容,在多播中没有连接,所以即使有人连接,也会发送字节 我用C++编写代码,使用MFC库和CSOCKPES。p> 能请人帮忙吗 谢谢 考虑一个示例,其中一个系统需要向多个系统发送相同的

我正在使用一些协议创建自己的服务器:TCP-PULL ok、TCP-PUSH ok、UDP-PULL ok(但我不能同时为两个客户端提供服务!)、UDP-PUSH ok(同样的问题)。 现在,我需要创建我的最后一个协议:多播推送,但是我不能理解它是如何工作的,而且我真的不知道如何用C++来编码它。我读过关于加入组的内容,在多播中没有连接,所以即使有人连接,也会发送字节

<>我用C++编写代码,使用MFC库和CSOCKPES。p> 能请人帮忙吗


谢谢

考虑一个示例,其中一个系统需要向多个系统发送相同的信息。如何最好地实现这一点?显而易见的方法是为每个目标系统建立一个套接字“连接”。当数据准备好发送时,发送方迭代每个“连接”,将数据发送到目标系统。该迭代过程必须在每次发送消息时进行,并且必须具有鲁棒性,以便在一个系统的传输失败时,其余系统不会失败。但问题确实比这更糟,因为通常多播交换中的所有系统都需要传输数据。这意味着每个系统必须与希望参与的每个系统建立“连接”

这就是多播的用武之地。在多播中,发送方将数据发送一次到称为多播组的专用IP地址和端口。从那里,网络设备(例如路由器)负责将数据转发到多播组中的其他系统。为了实现这一点,希望参与多播交换的所有系统必须“加入”多播组,这发生在套接字初始化期间,用于简单地通知网络设备系统希望参与多播交换。多播使用的IPv4地址有一个特殊范围-224.0.0.0到239.255.255.255。您必须使用此范围内的IP地址和您选择的端口号,才能使多播正常工作


查看at代码项目,了解如何在MFC中执行此操作的示例。

Morning Matt!谢谢,我成功了,但我仍然有一个小问题:我经常失去联系,我不知道为什么