什么是更好的解决方案
看着我需要的事实
每秒钟都有新数据,从
客户端还是服务器推送?
我认为这并不重要,因为请求之间的时间和新数据可用的时间相当短。在前一个成功后,我将在客户端实例化一个新的 XMLHttpRequest。您可以向服务器发送最后接收到的数据(如果不是太大),以便它可以将该数据与服务器上当前可用的数据进行比较,并且仅在有新数据可用时才发回一些数据。
还有商品 ID
服务器端(带有变量的那个
ID got) 可以改变,当客户端
刷新他需要获取的页面
最古老的(和活着的)身份证。这个会
意味着我的 jquery/javascript 在
客户端必须知道他是哪个ID
进入页面,最好的方法是什么
这样做?
我不完全确定我理解你的意思,但如果我是对的,你可以将每个名称/值对存储在一个对象中。当新变量到达客户端时,它不会覆盖现有数据;当某个变量已经存在时,它会更新为最新的值。它可能看起来像:
{ first_variable: 345,
second_one: "foo",
and_the_third: ["I", "am", "an", "array,", "hooray!"]
}
当second_one 的新状态到达时,例如"bar",对象更新为:
{ first_variable: 345,
second_one: "bar",
and_the_third: ["I", "am", "an", "array,", "hooray!"]
}
最后一件事是我找不到好的
(不贵)彗星库/api
对于 asp.net (C#)。任何人曾经使用过
彗星库效果不错?
我没有任何 ASP.NET 经验,但是您需要这样的库吗?难道你不能自己编写服务器端代码,正如我所说,它使连接保持打开状态并定期(持续)将当前状态与之前发送的状态进行比较?
更新:为了表明在服务器端保持连接打开并不难,我将向您展示我用 PHP 编写的长轮询模拟:
<?php
sleep(5);
?>
<b>OK!</b>
您可以轻松测试循环中的状态变化,而不是让进程 sleep 几秒钟。您可以将数据发回,而不是发送任意 HTML 元素,例如在JSON 符号中。我无法想象在 ASP.NET/C# 中做到这一点会那么难。