用于高频率金融应用的套接字或websocket

时间:2015-12-02 09:17:10

标签: .net sockets websocket

  

由Myst编辑:请参阅@ jfriend00提供的长篇答案重复提问: advantage WebSockets over TCP/IP

我需要在客户端(WPF)/服务器(.NET)中创建一个交易应用程序。 在我的情况下,我不知道Socket和Websocket之间的最佳效果。

Websocket实际上是最常用的,它是最简单的,它们有很多框架:

  • SuperWebSocket
  • PowerWebSockets
  • XSockets

但是我为什么要使用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是否是交易应用程序的一个很好的选择(具有很多消息的行为价格)。

你知道这个框架吗? 你认为套接字更合适吗?

感谢

1 个答案:

答案 0 :(得分:1)

是的,是的。

WebSockets是全双工持久连接。 WebSocket有自己的数据框架协议,非常轻量级,所以即使你使用原始套接字,你也必须实现自己的套接字。此外,WebSocket连接作为HTTP请求启动,因此使它们对防火墙和负载平衡器友好。

然而,WebSocket只是一种传输技术。如果您希望消息代理将消息路由到正确的客户端,我建议您为此设置适当的框架,并使用WebSockets只是为了连接它。如果你需要高性能的东西而不需要持久性,那么http://zeromq.org/可能是个不错的选择。

基本上,您可以使用WebSockets将消息放入和放出消息代理队列,然后让消息代理框架将消息路由到正确的位置。

另外,我自己为.NET和Mono开发了一个名为WebSocketListener的WebSocket组件。它scales well,你应该试一试。