【问题标题】:Socket or websocket for financial application with high frequency [closed]用于高频金融应用的套接字或网络套接字[关闭]
【发布时间】:2015-12-02 09:17:10
【问题描述】:

Myst 编辑:请在此处查看@jfriend00 给出的冗长答案的重复问题:advantage WebSockets over TCP/IP

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

Websocket 其实是用得最多的,也是最简单的,它们有很多框架如:

  • 超级WebSocket
  • PowerWebSockets
  • XSockets

但是如果套接字可以做到这一点,我为什么要使用 Websocket 呢? 我没有网络应用程序,只有桌面。 我喜欢 WebRPC 的想法,但我不喜欢反模式

void onMesage (imessage m)
{
   switch(m.MessageObject)
     case "A": DoA(); Break ;
     case "B": DoB(); Break ;
     case "C": DoC(); Break ;
}

通过客户端在 socket/websocket 上,我需要向好的组件发送消息。

我不知道 websocket 是否是交易应用程序的好选择(性能与大量消息股票价格)。

你知道这个框架吗? 你觉得socket更合适吗?

谢谢

【问题讨论】:

  • 这是一个模糊的问题,因为您要求的建议不是像 SO 这样的通用网站可以支持的。对于交易事物,它有自己的要求和规定,因此无论使用或不使用一项技术,您都比普通大众受到更多因素的约束。虽然 WebSocket/QUIC 等协议可能是选项。
  • 由于这个问题被搁置,我无法回答。但是,我对 WebSockets 和 (Sockets) 了解很多,并且很乐意为您提供帮助。我不会选择 WebSockets。我会使用自定义套接字协议。对您来说重要的事情可能是强类型模型绑定和路由,这样您就可以避免上面描述的“switch/case hell”。

标签: .net sockets websocket


【解决方案1】:

是的。

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

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多