Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
C# 网站上的快速数字更新_C#_Python_Asp.net_Web Services_Perl - Fatal编程技术网

C# 网站上的快速数字更新

C# 网站上的快速数字更新,c#,python,asp.net,web-services,perl,C#,Python,Asp.net,Web Services,Perl,我想知道如何在网站上快速更新数字 我有一台能产生大量输出的机器,我需要在线显示它。然而,我的问题是更新频率很高,因此我不知道如何处理它 最好显示最后N个数字,比如说10个。数字以30Hz更新。这对人眼来说可能太多了,但人眼在这里只是为了控制 我想知道怎么做。重新加载页面将使浏览器持续加载页面,对于网页,需要显示的不仅仅是这些数字 我可能会生成一个原始的web引擎,通过特定的IP地址和端口号将数字写入页面,但即使如此,我仍怀疑重新加载该页面是否会太慢,从而给用户带来一种奇怪的体验 我应该如何处理网

我想知道如何在网站上快速更新数字

我有一台能产生大量输出的机器,我需要在线显示它。然而,我的问题是更新频率很高,因此我不知道如何处理它

最好显示最后N个数字,比如说10个。数字以30Hz更新。这对人眼来说可能太多了,但人眼在这里只是为了控制

我想知道怎么做。重新加载页面将使浏览器持续加载页面,对于网页,需要显示的不仅仅是这些数字

我可能会生成一个原始的web引擎,通过特定的IP地址和端口号将数字写入页面,但即使如此,我仍怀疑重新加载该页面是否会太慢,从而给用户带来一种奇怪的体验

我应该如何处理网站上如此高的数据更新率?通常网站不是这样的


在这个问题的标签中,我命名了我能理解的语言。最后,我可能会用C#编写。

您不必使用页面重新加载。您可以使用WebSocket在浏览器(通过JavaScript)和服务器之间建立开放的双向通信

Python Tornado已经为这一内置功能提供了支持。此外,还有几个其他Python服务器支持它。是一个很棒的JavaScript库,具有回退功能,以方便客户端。

a)WebSocket与ajax结合使用,只更新站点的一部分,这样做是可行的,缺点是:客户端基础设施(代理)必须支持这些(目前99%的情况下不是这样)

b) 对于现有的基础设施,这种方法是长轮询。您可以使用javascript生成XmlHttpRequest。如果没有数据,请求会在服务器端被阻止5到10秒。如果数据可用,您将立即响应请求。然后,客户机立即发送一个新请求。我使用java客户端通过代理、http连接到Web服务器(显示实时股票数据),每秒更新超过500次。
为了获得足够的吞吐量,您需要在每个请求中捆绑多个更新。

在后端,您可以使用Redis或像VoltDB这样的NewSQL数据库来快速更新内存中的数据库。高速缓存对高延迟组件(尤其是在写量大的应用程序中)有很大帮助

在前端,您可以查看WebSocket和Comet web应用程序模型


许多游戏公司必须处理快速计数器更新和显示-这可能值得研究。Zynga使用协议调用AMF

你说的人眼只用于控制是什么意思?你希望这是一个远程软件的数据通道吗?好的,我会调查一下,我不想重新加载页面,WebSocket对我来说是新的。嗯,我想我喜欢你的b)答案,但是我不熟悉,如何使用javascript实现这一点?你知道我使用java作为客户端的一个例子吗。对于javascript,您需要使用异步请求(XMLHttpRequest)。如果请求包含数据,则渲染数据,否则立即重新发送新请求。真正的工作是在服务器端,我不知道C#服务器,使用java,您可以使用comet,或者执行手工编制的解决方案(如果当前客户端请求没有可用数据,则阻止调用线程)。也许搜索JavaScriptComet客户端会有一个想法。哦,对于C#服务器,我想我可以用C#编写一个基本的Web服务器,但它不附带拥有一个真正的Web服务器的额外功能。所以我猜您基本上创建了一个onpageload脚本来不断更新DIV部分,就像在ajax中一样?。