XMLHttpRequest 在 res.end() 之前检测到来自服务器的新数据
XMLHttpRequest detect new data from server before res.end()
是否可以在发送新数据时检测到来自服务器的新数据?例如,express.js:
res.write('Processing 14% or something');
然后用进度条显示在页面上。
编辑:
我原来的问题有点混乱所以让我解释一下情况。我创建了一个页面,用户可以在其中上传歌曲文件。然后将这些文件转换(使用 ffmpeg)为网络的 .ogg 和 .mp3 文件。转换需要很长时间。是否可以使用发送文件的相同 XMLHttpRequest 将有关转换的实时数据发送回客户端?
如果我理解正确的话,您正在尝试实施基于事件的操作。是的 node.js 有一些优秀的网络套接字库,例如 socket.io and sack.js
你需要了解 nodejs event driven 模式。
Websocket 协议有助于维持服务器和客户端之间的全双工连接。您可以在服务器发生任何操作时通知客户端,类似的,您可以在客户端发生任何操作时通知服务器。库提供了向所有连接的客户端或选定的客户端广播事件的灵活性。
因此,您将经常使用的基本上是 emit 和 on。
浏览文档,不会花费太多时间来学习。如果您需要任何帮助,请告诉我。
是否可以在发送新数据时检测到来自服务器的新数据?例如,express.js:
res.write('Processing 14% or something');
然后用进度条显示在页面上。
编辑:
我原来的问题有点混乱所以让我解释一下情况。我创建了一个页面,用户可以在其中上传歌曲文件。然后将这些文件转换(使用 ffmpeg)为网络的 .ogg 和 .mp3 文件。转换需要很长时间。是否可以使用发送文件的相同 XMLHttpRequest 将有关转换的实时数据发送回客户端?
如果我理解正确的话,您正在尝试实施基于事件的操作。是的 node.js 有一些优秀的网络套接字库,例如 socket.io and sack.js
你需要了解 nodejs event driven 模式。
Websocket 协议有助于维持服务器和客户端之间的全双工连接。您可以在服务器发生任何操作时通知客户端,类似的,您可以在客户端发生任何操作时通知服务器。库提供了向所有连接的客户端或选定的客户端广播事件的灵活性。
因此,您将经常使用的基本上是 emit 和 on。 浏览文档,不会花费太多时间来学习。如果您需要任何帮助,请告诉我。