C 实时数据流传输到多个客户端

C 实时数据流传输到多个客户端,c,streaming,real-time,C,Streaming,Real Time,我想写一个应用程序,它将以2400波特的数据流通过互联网从一个服务器到多个客户端。每个客户机的数据都是相同的,可能可以将其作为UDP流发送,因为准确的数据准确性不是100%必需的,因为数据格式中内置了校验和,并且数据将在循环中重复发送 最好的方法是什么?我想用C语言编写服务器,但我不知道如何最好地将这些数据多播到全国各地接收数据的不同客户端 我确信这似乎是一种非常严厉的方式来执行我的项目,而不是仅仅使用某种fetch命令,但如果可能的话,我更愿意这样做。您可能希望看看单播,尤其是当您的客户端位于

我想写一个应用程序,它将以2400波特的数据流通过互联网从一个服务器到多个客户端。每个客户机的数据都是相同的,可能可以将其作为UDP流发送,因为准确的数据准确性不是100%必需的,因为数据格式中内置了校验和,并且数据将在循环中重复发送

最好的方法是什么?我想用C语言编写服务器,但我不知道如何最好地将这些数据多播到全国各地接收数据的不同客户端


我确信这似乎是一种非常严厉的方式来执行我的项目,而不是仅仅使用某种fetch命令,但如果可能的话,我更愿意这样做。

您可能希望看看单播,尤其是当您的客户端位于多个目录上时。您应该能够将TCP或UDP流量与数据一起发送到每个客户端,特别是在带宽需求很小的情况下。IP多播最适用于相互靠近的网络上的节点组

重复循环客户端地址,并发送数据。调节循环的速率以限制数据速率

注意可靠性问题:正确性不是UDP的唯一问题;您也没有收到您的数据的确认,也没有订购的保证


波特率在这里并不适用,因为数据被分割成或多或少的离散块。

您可能希望了解单播,尤其是当您的客户端位于多个目录上时。您应该能够将TCP或UDP流量与数据一起发送到每个客户端,特别是在带宽需求很小的情况下。IP多播最适用于相互靠近的网络上的节点组

重复循环客户端地址,并发送数据。调节循环的速率以限制数据速率

注意可靠性问题:正确性不是UDP的唯一问题;您也没有收到您的数据的确认,也没有订购的保证


波特率在这里并不适用,因为数据被分割成或多或少的离散块。

什么操作系统?IPv4还是IPv6?您可能应该使用google
IP多播
Linux/Windows,无所谓,以及IPv4。好的,谢谢。什么操作系统?IPv4还是IPv6?您可能应该使用google
IP多播
Linux/Windows,无所谓,以及IPv4。好的,谢谢。好的,我不需要确认,我只需要发送出去。至于波特,我只需要稍微限制一下速度。这并不是说我需要数据本身以2400波特输出,显然这是互联网,这不适用。问题是,数据最终将以2400波特的速率通过串行从PC传输到字符生成器之类的东西,因此我只需要不太快地发送数据,以免使串行消息过载。我可能只会在消息之间设置1秒的延迟,这会使一切正常。至于单播,您是否建议我只将数据唯一地发送到每个IP?这可能就是我最后要做的。是的,我只是将数据单独发送到每个IP。如果我是你,我会用单播和睡眠延迟来开始,并从那里改进以满足你的需要。对,我不需要确认,我只需要发送出去。至于波特,我只需要稍微限制一下速度。这并不是说我需要数据本身以2400波特输出,显然这是互联网,这不适用。问题是,数据最终将以2400波特的速率通过串行从PC传输到字符生成器之类的东西,因此我只需要不太快地发送数据,以免使串行消息过载。我可能只会在消息之间设置1秒的延迟,这会使一切正常。至于单播,您是否建议我只将数据唯一地发送到每个IP?这可能就是我最后要做的。是的,我只是将数据单独发送到每个IP。如果我是你,我会用单播和睡眠延迟来开始,并从那里改进以满足你的需要。