- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经使用 Pusher 一段时间了。我一直认为“实时”意味着“瞬时”。最近我进入了这篇文章:https://en.wikipedia.org/wiki/Real-time_computing ,还有一句话引起了我的注意:
"Real-time programs must guarantee response within specified time constraints"
他们给出了一个基于音频处理的例子:
"Consider an audio DSP example; if a process requires 2.01 seconds to analyze, synthesize, or process 2.00 seconds of sound, it is not real-time. However, if it takes 1.99 seconds, it is or can be made into a real-time DSP process."
我的问题:1. 这个定义仅适用于硬件/电子设备还是也可以适用于软件?2. 如果适用于软件,是否适用于 Pusher 等远程服务?3. 推送器被视为“实时”的时间限制是多少?4. WebRTC、Firebase 等其他服务的时间限制是多少?
最佳答案
抱歉,这篇冗长的文章没有具体回答您的问题,但我希望它能让您更好地理解“实时”定义的来源。
<小时/>是的,“实时”意味着“瞬时”,这是一种可以理解的混淆。但如果你真正开始思考,你很快就会发现“瞬时”很难定义。
瞬时是什么意思?从命令时间到响应时间的 0(零)秒响应时间(如 0 秒 0 ms 0 ns 0 ps)在物理上是不可能的。然后我们可以尝试说瞬时意味着命令响应时间是瞬时感知的,即它不会被视为延迟。但是……“瞬间感知”到底是什么意思呢?被人类感知?好吧,那很好,我们正在取得进展。人眼和大脑图像处理是一个非常非常复杂的机器,它并不是简单地以 fps 工作,但我们可以使用数据来近似一些。人眼可以“感知屏幕上闪烁的 1/250 秒的图像”。这将是 0.004
秒或 250 fps。因此,通过这种近似,如果图形程序的响应时间 < 0.004 秒或运行速度快于@250 fps,则该图形程序将是实时的。但我们知道,在实践中,大多数人在 60 fps(即 0.01666
秒)下就可以感受到游戏的流畅。所以现在我们有两个不同的答案。我们能以某种方式证明它们都是合理的吗?是的。我们可以说,理论上实时意味着 0.004 秒,但实际上 0.01666 秒就足够了。
我们可以很高兴就此止步,但我们正踏上探索之旅。所以让我们进一步思考。您想要一个具有 0.01666
秒响应时间的“实时”航空电子自动化系统吗?您认为“实时”核电站系统0.01666
秒的响应时间可以接受吗?如果命令完成时间为 0.0166
秒,则阀门实际需要 15 秒才能关闭的油控系统是否会被定义为“实时”?所有这些问题的答案绝对是否定的。为什么?回答这个问题,你就回答了为什么“实时”被定义为:“实时程序必须保证在指定的时间限制内响应”。
抱歉,我对“Pusher”一点也不熟悉,但我可以回答你的第一个问题和第二个问题的一部分:“实时”可以应用于任何需要“ react ”或响应的系统某种形式的输入。这里的“系统”比你想象的更通用。大脑就符合条件,但在工程背景下意味着整个堆栈:硬件+软件。
关于webrtc - 为什么像 Pusher 这样的解决方案声称是 "Real time"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45684082/
我不确定我是否正确理解 authentication在 Pusher 工作。这是我担心的一个场景: 用户想要订阅私有(private) channel ,因此 Pusher 库调用我的服务器以获得身份
典型的聊天应用。使用存在 channel 来判断谁在线,但正在寻找一种优雅的方式来使用空闲标志在存在 channel 中标记用户。 最佳答案 对此的完整解决方案可能相当复杂,而且还取决于运行时 - 我
Pusher 似乎是一项不错的服务,但我想知道是否有人知道它是否可以用作持久事件流。例如,我想订阅一个 channel 并获取历史事件,而不仅仅是订阅后的新实时事件事件。 最佳答案 channel 事
我找不到任何关于使用 Pusher 创建 channel 的明确信息。在客户端订阅或在服务器上推送事件时,这只是一个隐式操作吗? class HelloController 'world' })
我有 40 个类别,每个类别都有 10-100 个子类别。默认情况下,用户收听所有类别和子类别。我想让每个用户能够选择从整个类别或特定子类别中取消绑定(bind)。所以,现在我所拥有的是每个类别都是一
是否可以从 API 获取与推送器 (http://pusher.com/) 的事件连接数? 在他们支持的 Python 服务器库中找不到它。虽然我可以在他们基于 Web 的仪表板的统计页面上看到它,但
我想要什么:在 Pusher 中订阅私有(private) channel 后如何获得订阅计数。实际上我只想在 2 个用户之间进行私有(private)聊天。 我所知道的和正在做的事情: .我知道我的
我最近在我的 PHP laravel 项目中使用了 pusher,它运行良好。 我对 pusher 的了解是,它是我们的服务器和客户端之间的实时层,并创建到我们的客户端浏览器的 Web 套接字连接。
我不确定我是否正确理解authentication在Pusher中的工作方式。这是我担心的情况: 用户想要订阅专用频道,因此Pusher库调用我的服务器以获得身份验证令牌。 服务器检查用户是否已登录并
我正在编写多人国际象棋游戏,并在 websocket 服务器部分使用 Pusher。 无论如何,如果我有一个用户列表,并且我选择其中的任何一个并挑战他们,我如何仅向该用户发送挑战?我知道我会使用客户端
我正在使用 Backbone 前端,我们目前正在使用推送器使其实时化。大多数事件都是从我们的 API 触发的,然后我们在主干前端的 channel 上监听它们。 但是,在某些情况下,我们希望通过单击按
我在我的 php 文件中集成了一些脚本。它正在读取 Pusher channel ,并在列出的 channel 上有新事件时执行多项操作。 如果我在浏览器上运行: http:/localhost/pu
我正在使用 nextjs 在 Web 应用程序中实现推送器。它在我的开发环境中按预期工作。但当我将其部署到 vercel 时,它无法正常工作。我只有在浏览器中刷新页面时才能看到结果。 这是客户端的实现
我正在使用 PHP 和 Javscript (jQuery) 测试 Pusher 库,以通过一个相当简单的应用程序来处理 Websocket,您可以在这里找到它:http://jsfiddle.net
我正在开发的实时应用程序遇到问题。我的问题是关于使用 Pusher 的用户状态。例如,我想获得正确的方法来检测用户何时离开页面或保持一段时间不活动以将其状态设置为“离线”。我怎样才能做到这一点?我几乎
我正在尝试实现一项功能,通知用户推送器断开连接,并指示何时重新连接。我的第一个实验只是将更改的推送器状态记录到控制台: var pusher = new Pusher('MY_ACCOUNT_STRI
我正在开发的实时应用程序遇到问题。我的问题是关于使用 Pusher 的用户状态。例如,我想获得正确的方法来检测用户何时离开页面或保持一段时间不活动以将其状态设置为“离线”。我怎样才能做到这一点?我几乎
我正在使用适用于 iOS 的 Pusher 客户端,通过 CocoaPods 安装它(pod 'libPusher', '~> 1.5')。 一切都安排得很好,事件进展顺利。但是,如果设备(运行 iO
我正在使用 Pusher 将事件推送到我订阅的浏览器。 当我向我的服务器发送更新时,我的服务器发出一个 Push 事件,我的客户端(发起请求)和任何其他订阅的客户端都会被触发。 我遇到的问题是事件发起
我正在使用 Pusher 提供的起始代码,当我将其放入基本的 swift 项目并向其发送消息时,没有任何反应。我也安装了 cocoa pod 包。 应打印语句“已收到数据”。 也没有错误。 最佳答案
我是一名优秀的程序员,十分优秀!