Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/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
Sockets 是否有实时通信的基准(websocket或ajax轮询等)?_Sockets_Websocket_Real Time - Fatal编程技术网

Sockets 是否有实时通信的基准(websocket或ajax轮询等)?

Sockets 是否有实时通信的基准(websocket或ajax轮询等)?,sockets,websocket,real-time,Sockets,Websocket,Real Time,因此,我认为实时更新/通信的定义是,一个用户所做的更新一经做出,就立即转发给订阅该对象的其他用户 但这不是瞬时的(数据需要有限的时间传输)。所以我想这意味着很短的时间 如果每5秒使用一次ajax轮询,用户A查看用户B所做的事情所用的时间是:5+t1+t2(数据(http请求)从用户B的PC到服务器所用的时间。t2是数据从服务器到用户A的PC所用的时间) t1+t2是无法从图片中提取的最小延迟(当然,这一时间会减少,但这些因素仍然存在,无论多么小)。 因此,在插座的情况下,可以有t1+t2+d的延

因此,我认为实时更新/通信的定义是,一个用户所做的更新一经做出,就立即转发给订阅该对象的其他用户

但这不是瞬时的(数据需要有限的时间传输)。所以我想这意味着很短的时间

如果每5秒使用一次ajax轮询,用户A查看用户B所做的事情所用的时间是:5+t1+t2(数据(http请求)从用户B的PC到服务器所用的时间。t2是数据从服务器到用户A的PC所用的时间)

t1+t2是无法从图片中提取的最小延迟(当然,这一时间会减少,但这些因素仍然存在,无论多么小)。 因此,在插座的情况下,可以有t1+t2+d的延迟。d是服务器注意到内部发生的事件并将其传播所用的时间(取决于CPU功率) 我的问题是:是否有任何既定的基准/标准来定义通信的实时性应该有多小

或者说实时性只是我们每天都会用到的一个通用术语? 这完全是出于好奇,而不是出于任何应用。我只是好奇,是否有任何既定的实时数据标准

“是否有任何既定的基准/标准来定义d有多小 通讯应该是实时的吗?”

你的问题是正确的。应用程序始终由特征延迟时间
t
定义。在不同的上下文中,“realtime”对于
t
可能有完全不同的含义

我想说,在涉及web和人类用户的应用程序上下文中定义实时事件处理的公认“标准”是,(多个)用户应该能够与应用程序交互,而不会“感觉”到阻碍延迟。应用程序必须具有“响应性”。从数量上来说,这可能意味着请求和响应之间的总延迟时间(一般术语)不应高于约100 ms。人类对真实世界事件的响应时间在这个数量级上。需要极快反应时间的在线游戏完全可以玩,总延迟(往返)时间在10到60毫秒之间

在其他环境中,例如在实验室或工业控制机器中,实时事件处理有时意味着保证在毫秒、微秒甚至更快的时间内处理事件。这是完全不同的情况

回到web应用程序,我认为现代实时web服务显示以下一个或多个特征:

  • 用户界面响应速度非常快,部分是通过JavaScript等本地执行实现的。在用户端(例如浏览器中)运行的代码与远程web应用程序之间的最终通信是异步执行的(对用户隐藏)
  • 后端实现基于有效的事件处理技术,而不是定期轮询
  • 在用户和后端之间使用持久TCP/IP连接,以消除由于连接打开/关闭而产生的延迟和开销(这就是WebSocket发挥作用的地方)
我希望这能笼统地回答你的问题。如果你想知道一些更具体的事情,可以写评论

“是否有任何既定的基准/标准来定义d有多小 通讯应该是实时的吗?”

你的问题是正确的。应用程序始终由特征延迟时间
t
定义。在不同的上下文中,“realtime”对于
t
可能有完全不同的含义

我想说,在涉及web和人类用户的应用程序上下文中定义实时事件处理的公认“标准”是,(多个)用户应该能够与应用程序交互,而不会“感觉”到阻碍延迟。应用程序必须具有“响应性”。从数量上来说,这可能意味着请求和响应之间的总延迟时间(一般术语)不应高于约100 ms。人类对真实世界事件的响应时间在这个数量级上。需要极快反应时间的在线游戏完全可以玩,总延迟(往返)时间在10到60毫秒之间

在其他环境中,例如在实验室或工业控制机器中,实时事件处理有时意味着保证在毫秒、微秒甚至更快的时间内处理事件。这是完全不同的情况

回到web应用程序,我认为现代实时web服务显示以下一个或多个特征:

  • 用户界面响应速度非常快,部分是通过JavaScript等本地执行实现的。在用户端(例如浏览器中)运行的代码与远程web应用程序之间的最终通信是异步执行的(对用户隐藏)
  • 后端实现基于有效的事件处理技术,而不是定期轮询
  • 在用户和后端之间使用持久TCP/IP连接,以消除由于连接打开/关闭而产生的延迟和开销(这就是WebSocket发挥作用的地方)

我希望这能笼统地回答你的问题。如果您想了解更具体的信息,请随时发表评论。

我只是想知道是否有任何国际标准定义web通信中的实时性。即时通讯用于极快的通讯。这就像说汽车很重一样。“非常重”不是可枚举实体,即无法测量或比较。说一辆车重1000公斤是有道理的。它比储存在巴黎的金属块重1000倍