Sockets 是否有实时通信的基准(websocket或ajax轮询等)?
因此,我认为实时更新/通信的定义是,一个用户所做的更新一经做出,就立即转发给订阅该对象的其他用户 但这不是瞬时的(数据需要有限的时间传输)。所以我想这意味着很短的时间 如果每5秒使用一次ajax轮询,用户A查看用户B所做的事情所用的时间是:5+t1+t2(数据(http请求)从用户B的PC到服务器所用的时间。t2是数据从服务器到用户A的PC所用的时间) t1+t2是无法从图片中提取的最小延迟(当然,这一时间会减少,但这些因素仍然存在,无论多么小)。 因此,在插座的情况下,可以有t1+t2+d的延迟。d是服务器注意到内部发生的事件并将其传播所用的时间(取决于CPU功率) 我的问题是:是否有任何既定的基准/标准来定义通信的实时性应该有多小 或者说实时性只是我们每天都会用到的一个通用术语? 这完全是出于好奇,而不是出于任何应用。我只是好奇,是否有任何既定的实时数据标准 “是否有任何既定的基准/标准来定义d有多小 通讯应该是实时的吗?” 你的问题是正确的。应用程序始终由特征延迟时间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的延
t
定义。在不同的上下文中,“realtime”对于t
可能有完全不同的含义
我想说,在涉及web和人类用户的应用程序上下文中定义实时事件处理的公认“标准”是,(多个)用户应该能够与应用程序交互,而不会“感觉”到阻碍延迟。应用程序必须具有“响应性”。从数量上来说,这可能意味着请求和响应之间的总延迟时间(一般术语)不应高于约100 ms。人类对真实世界事件的响应时间在这个数量级上。需要极快反应时间的在线游戏完全可以玩,总延迟(往返)时间在10到60毫秒之间
在其他环境中,例如在实验室或工业控制机器中,实时事件处理有时意味着保证在毫秒、微秒甚至更快的时间内处理事件。这是完全不同的情况
回到web应用程序,我认为现代实时web服务显示以下一个或多个特征:
- 用户界面响应速度非常快,部分是通过JavaScript等本地执行实现的。在用户端(例如浏览器中)运行的代码与远程web应用程序之间的最终通信是异步执行的(对用户隐藏)
- 后端实现基于有效的事件处理技术,而不是定期轮询
- 在用户和后端之间使用持久TCP/IP连接,以消除由于连接打开/关闭而产生的延迟和开销(这就是WebSocket发挥作用的地方)
t
定义。在不同的上下文中,“realtime”对于t
可能有完全不同的含义
我想说,在涉及web和人类用户的应用程序上下文中定义实时事件处理的公认“标准”是,(多个)用户应该能够与应用程序交互,而不会“感觉”到阻碍延迟。应用程序必须具有“响应性”。从数量上来说,这可能意味着请求和响应之间的总延迟时间(一般术语)不应高于约100 ms。人类对真实世界事件的响应时间在这个数量级上。需要极快反应时间的在线游戏完全可以玩,总延迟(往返)时间在10到60毫秒之间
在其他环境中,例如在实验室或工业控制机器中,实时事件处理有时意味着保证在毫秒、微秒甚至更快的时间内处理事件。这是完全不同的情况
回到web应用程序,我认为现代实时web服务显示以下一个或多个特征:
- 用户界面响应速度非常快,部分是通过JavaScript等本地执行实现的。在用户端(例如浏览器中)运行的代码与远程web应用程序之间的最终通信是异步执行的(对用户隐藏)
- 后端实现基于有效的事件处理技术,而不是定期轮询
- 在用户和后端之间使用持久TCP/IP连接,以消除由于连接打开/关闭而产生的延迟和开销(这就是WebSocket发挥作用的地方)
我希望这能笼统地回答你的问题。如果您想了解更具体的信息,请随时发表评论。我只是想知道是否有任何国际标准定义web通信中的实时性。即时通讯用于极快的通讯。这就像说汽车很重一样。“非常重”不是可枚举实体,即无法测量或比较。说一辆车重1000公斤是有道理的。它比储存在巴黎的金属块重1000倍