我有一个使用 SignalR 的 ASP.NET 服务器应用程序。我有一个 HTML5 客户端。服务器向我的客户端发送一个小字节数组(大约 12k)JPEG,客户端接收并显示 IMG 元素中的图像。
发送到客户端的数据频率不稳定,我担心过载。目前,我使用计时器控件定期从服务器中继消息。对于使用专用宽带连接的桌面浏览器,一切都运行顺利,但是如果我使用移动设备浏览器,无论出于何种原因(例如互联网连接不良和/或电池电量不足),移动设备都可能需要更长的时间来加载图像。
理想情况下,我希望我的客户向我的服务器发送确认消息,“说”图片已加载成功,我已准备好接收下一张图片。我可以通过信号客户端方法或调用 API 来促进收到的通知。
我担心两件事:
从客户端到服务器调用的 header (等)的不必要开销
否定使用 SignalR 的好处
我强烈倾向于仅依赖服务器控件中的计时器并增加移动设备的“超时”,但我对想法持开放态度。有没有其他人遇到过这种情况,如果遇到过,有不同的方法吗?
最佳答案
尝试 this answer 中记录的方法.
总结:为每个 JPEG 分配一个 ID。当客户端准备好下一张图片时,让它报告上次加载的图片的 ID,以便服务器知道下一张要发送的图片。
关于c# - 确保客户端已收到来自信号器服务器点的消息的好方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27767642/