Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wcf 实时更新应用的服务器架构_Wcf_Architecture_Websocket_Real Time_Updates - Fatal编程技术网

Wcf 实时更新应用的服务器架构

Wcf 实时更新应用的服务器架构,wcf,architecture,websocket,real-time,updates,Wcf,Architecture,Websocket,Real Time,Updates,我正在构建一个需要持续实时更新的股票行情器。客户端上的JavaScript与.NET WCF 4.5对话,后者引入了对WebSocket的支持 用户的提要差别很大。例如,许多用户关注流行的大盘股票,如FB、GOOG和MSFT,但每个用户都关注许多其他可能是他独有的“利基”股票 我们都知道有几个选项可以实时刷新浏览器 投票。优点:易于实现。缺点:不可扩展、原始、浪费带宽和周期 长投票。优点:高效、可扩展。缺点:过时 网袋。赞成的意见。高效、可扩展。缺点:我想没有,因为大多数现代浏览器都支持 有人会

我正在构建一个需要持续实时更新的股票行情器。客户端上的JavaScript与.NET WCF 4.5对话,后者引入了对WebSocket的支持

用户的提要差别很大。例如,许多用户关注流行的大盘股票,如FB、GOOG和MSFT,但每个用户都关注许多其他可能是他独有的“利基”股票

我们都知道有几个选项可以实时刷新浏览器

  • 投票。优点:易于实现。缺点:不可扩展、原始、浪费带宽和周期

  • 长投票。优点:高效、可扩展。缺点:过时

  • 网袋。赞成的意见。高效、可扩展。缺点:我想没有,因为大多数现代浏览器都支持

  • 有人会选3个以外的吗


    假设我使用3,服务器的开放连接是如何跟踪的?例如,如果我们的设计使我们保持了一个FB“追随者”池(即对FB价格变化感兴趣的客户连接),以便我们知道在价格变化时更新谁,那么这个池是如何维护的?通过在内存中持续运行的服务?此外,如果FB关注者关闭其浏览器,服务是否需要捕获此事件并更新FB的关注者池?这就是我很快变得模糊的地方。

    看看这篇关于长轮询的硬边的帖子:

    服务器的开放连接是如何跟踪的

    可能在WCF WebSocket中有一种方法可以连接和断开事件。如果没有,您肯定应该关注其他框架。不久前我看了一下WCF websockets,它看起来不像我想要使用的东西,暂且不说你需要Windows 8或Windows 2012来使用它

    <>你应该考虑像刚才和端点一样的WebSoCube。您应该使用事件驱动的体系结构方法开发股票行情软件,然后提供接收/传递事件的端点,这将是应用程序的一个完全不同的部分。对于活动管理,我建议您查看

    当您清楚了这一点之后,您就可以定义用户将如何连接到您的服务并与之交互。在web事件驱动的体系结构中,WebSocket很有意义,因为它是一种全双工、持久连接,也是一种广泛支持的web标准

    为了向.NET提供WebSocket,WCF不是唯一的选项,也可能不是最好的。为了将websocket端点添加到您的体系结构中,我建议您看一看,这是一个非常小的组件,用于提供websocket功能(免责声明:我开发了它),或者如果您想要一个更复杂的解决方案来做很多事情的话。看看这个使用XSocket.NET完成的示例: