我想创建一个简单的视频会议网站,一开始我决定使用Microsoft's
SignalR与Mono和apache。但也有一些声音说SignalR太慢了。如果这是真的,那么它在linux的Mono上可能会更糟糕。
1. Microsoft's SignalR
2. xSockets
3. Microsoft.WebSocket
4. SuperWebsocket
我想问一下你们中是否有人有这个项目的经验,可以帮我在他们之间做出选择。
提前感谢!
免责声明:我在XSockets工作。
我会将欧姆定律与您计划的托管结合起来使用。使用XSockets和SuperWebSocket,您将在所有服务器平台上支持全双工通信(websockets)。
SignalR和Microsoft。WebSockets要求Win8+/2012服务器和IIS8能够在服务器上提供WebSockets。如果您使用其他平台,您将获得半双工技术(SSE、Longpolling……)参见支持的平台也许这就是为什么你问SignalR很慢,因为你将在Linux上运行,这意味着当你使用SignalR/Microsoft.WebSocket时,你不会从服务器获得websocket支持?
当涉及到实现SignalR和XSockets都有WebRTC的实现(我假设它是WebRTC你正在谈论的事件,虽然你没有提到它)。我不知道SuperWebSocket是否有任何WebRTC样本,但是如果你想的话,你应该能够将SignalR和XSockets的样本移植到SuperWebSocket。
当涉及到客户端支持时,IE显然存在问题,但Chrome, FF和Opera将在桌面支持WebRTC。在移动设备上,你将支持Android,但在iOS上,你将需要类似于Cordova lib的东西它是用XSockets webtc实现测试的,但我不能代表其他人。应该与SignalR实现一起工作,但我们还没有尝试过。所以,我认为你应该根据服务器平台和最适合你项目的实现在1、2和4之间进行选择。
选项3可能根本不是一个好的选择…
编辑:指向WebRTC示例的链接
这是一个使用SignalR
进行视频会议的项目。
现在,除非你提供的消息来源说,SignalR
是缓慢的,我真的不能说太多,除了这取决于你的情况。看一下SignalR
的介绍,看看您的项目是否适合。
如果你真的想使用Mono
和Apache
,你将面临一些兼容性问题,因为ASP.NET
在Linux
上没有稳定的版本,SignalR
也不会发布ASP.NET 5
的第一个版本。
除非没有其他选择,否则我会用IIS
来托管ASP.NET
应用程序,直到微软发布跨平台框架。
作为SigalR
慢,我真的不知道这是怎么回事(有多少用户,这种"慢"的行为是什么,当发送或接收消息时?)。
希望这对你有帮助。祝你好运!
编辑:好的,看看这个版本,试一试,看看你是否有问题。至于列出的其他技术,我没有使用过,所以我不能真正帮助你。