Html 使用SSE发送图像数据
我看到的所有实现服务器发送事件()的示例都将响应的内容类型设置为Html 使用SSE发送图像数据,html,server,server-sent-events,Html,Server,Server Sent Events,我看到的所有实现服务器发送事件()的示例都将响应的内容类型设置为text/event stream 我希望使用SSE机制发送图像数据。但我不确定这是否适用于文本内容类型 我可以用SSE吗?或者我需要一个“满标度”连接吗?您可以通过base64编码图像(SSE不支持发送二进制文件)。但是(看看你对另一个答案的评论,这些都是大图片),不要这样做。假设当前图像生成超时,因为生成速度较慢,而不是很大,我会这样做: 给你打电话/让你成为我的形象/ 这是一个SSE过程,开始制作图像。它发送通常的标题 映像准
text/event stream
我希望使用SSE机制发送图像数据。但我不确定这是否适用于文本内容类型
我可以用SSE吗?或者我需要一个“满标度”连接吗?您可以通过base64编码图像(SSE不支持发送二进制文件)。但是(看看你对另一个答案的评论,这些都是大图片),不要这样做。假设当前图像生成超时,因为生成速度较慢,而不是很大,我会这样做:
如果隐私很重要-没有其他人可以下载图像-那么第5步可以是一个PHP(或您选择的语言)脚本,用于检查客户端cookie是否与您的会话匹配,并且只有在这样的情况下才能通过流式传输文件。对于真正大的图像,我至少会通过流式传输。然而,获取服务器端(和后端)可能很棘手 或者,您可以平铺图像并使用简单的HTTP请求。有很多方法和图书馆,其中之一就是使用传单。 以下是一个合理的解释: 您所需要做的就是将巨大的图像分割成块,然后您甚至可以将其放在静态服务器上。平铺必须遵循惯例
[zoom\u level]/map\u0..NX]\u0..NY].png
然后将坐标参考系(CRS)设置为L.CRS.Simple
,并使平铺层与图像服务器一起工作:
L.tillelayer('/image1234/tiles/{z}/map{x}{y}.png').addTo(map)代码>
如果服务器上发生了重要的事情,并且浏览器客户端需要知道,那么服务器发送的事件实际上应该被用作主动通知机制。例如,在您编辑时,另一个答案已发布到SO问题。实际数据总是通过额外请求检索
Web套接字适用于全双工TCP套接字适用的任何东西(即几乎所有东西)。但是它的级别相当低,即使对于特定的应用程序有一些开源的辅助工具。如果大型图像渲染是应用程序的焦点和卖点,那么对其进行投资可能是有意义的
但是,快速投入生产、健壮且成本相对较低的解决方案(显示巨大图像)将是图像平铺