我可以使用 CORBA/RMI 进行实时音频流吗?
我需要在服务器/客户端之间进行通信。我看到CORBA用于不同的语言来像RMI一样工作,是吗? 在我的应用程序中,我必须在客户端/服务器之间传输对象、传输二进制文件(我看到可以使用 RMI 来完成)以及从一个客户端到另一个客户端播放实时流媒体。 我正在考虑 CORBA,因为如果需要的话它也可以与 C++ 一起使用,不是吗? 那么我可以用 CORBA 玩流媒体吗?
I need to communicate between server/client. I saw that CORBA is used for different languages to work like RMI, is it?
In my application I will have to transfer objects between client/server, transfer binary files (which I saw that I can do with RMI) and also play live streaming from one client to another.
I was thinking about CORBA because it also can be used with C++ if I need, isnt it?
So can I play streaming with CORBA?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
RMI 和 CORBA 是分布式对象技术。然后,您可以像调用本地对象一样调用远程对象的方法。
当然,如果您实现了这样做的方法(例如
void sendChunk(byte[] data)
),您就可以发送和接收字节。但我认为它们不适合流媒体。同样对于流,您应该选择一些东西来解决流的服务质量——而 RMI 或 CORBA 绝对不会这样做。为此,我可能会看看 UDP 套接字或类似的东西,如果通道饱和,它只会丢弃数据包。RMI and CORBA are technologies for distributed objects. You then invoke methods on a remote object the same way as on a local object.
Sure, you can send and receive bytes if you implement methods that do so (e.g.
void sendChunk(byte[] data)
). But I wouldn't consider them appropriate for streaming. Also for streaming, you should pick something to address the quality of service of the stream -- which RMI or CORBA definitively don't do. For that I would maybe have a look at UDP sockets, or something like that, which just drops packets if the channel is saturated.CORBA 为您提供了很多服务,但它可能不是流媒体的最佳选择。我能想到的两个原因(尽管也可以找到更多反对的理由)
,已经证明 ORB 可以实时 沟通也是如此。因此,CORBA 作为一个框架并不是完全不可能的。
但我不确定 CORBA 的多播通信功能。
CORBA provides you a lot of services and it possibly is not the best of the options for streaming media. Two reasons I can think of (though one can find more reasons against too)
That said, it has been demonstrated that ORBs can work with real-time communication too. So, CORBA as a framework is not completely off the table.
I am not sure of the multicast communication capabilities of CORBA though.
如果您一心想使用 CORBA 来解决这个问题,请查看 RT-CORBA(实时 corba)。我相信 TAO 已经实现了它,但是我从未使用过 RT-CORBA,所以我无法直接谈论它是否能为您提供流媒体所需的性能。
If you're hell bent on using CORBA to address this, have a look at RT-CORBA (Real-time corba). I believe TAO has an implementation of it, however I've never used RT-CORBA so I can't speak first-hand if it'll give you the performance you'll require for streaming.