由Myst编辑:请参阅@ jfriend00提供的长篇答案重复提问: advantage WebSockets over TCP/IP
我需要在客户端(WPF)/服务器(.NET)中创建一个交易应用程序。 在我的情况下,我不知道Socket和Websocket之间的最佳效果。
Websocket实际上是最常用的,它是最简单的,它们有很多框架:
但是我为什么要使用Websocket,如果socket可以这样做? 我没有Web应用程序,只有桌面。 我喜欢WebRPC的想法,我不喜欢反模式
void onMesage (imessage m)
{
switch(m.MessageObject)
case "A": DoA(); Break ;
case "B": DoB(); Break ;
case "C": DoC(); Break ;
}
使用on socket / websocket by client我需要发送消息给好组件。
我不知道websocket是否是交易应用程序的一个很好的选择(具有很多消息的行为价格)。
你知道这个框架吗? 你认为套接字更合适吗?
感谢
答案 0 :(得分:1)
是的,是的。
WebSockets是全双工持久连接。 WebSocket有自己的数据框架协议,非常轻量级,所以即使你使用原始套接字,你也必须实现自己的套接字。此外,WebSocket连接作为HTTP请求启动,因此使它们对防火墙和负载平衡器友好。
然而,WebSocket只是一种传输技术。如果您希望消息代理将消息路由到正确的客户端,我建议您为此设置适当的框架,并使用WebSockets只是为了连接它。如果你需要高性能的东西而不需要持久性,那么http://zeromq.org/可能是个不错的选择。
基本上,您可以使用WebSockets将消息放入和放出消息代理队列,然后让消息代理框架将消息路由到正确的位置。
另外,我自己为.NET和Mono开发了一个名为WebSocketListener的WebSocket组件。它scales well,你应该试一试。