我有一个 django 应用程序在我通过 python 运行可执行文件的服务器上运行。我想实时发送该可执行文件的输出,因为我不希望该可执行文件首先完成并在一个 http 响应中发送整个数据,而是我想以多个部分发送输出,以便客户端知道发生了什么服务器端。
我不知道从哪里开始,以及如何继续完成这项工作。任何帮助将不胜感激。
现在我正在做一些非常简单的事情:
popen=subprocess.Popen(list,stdout=subprocess.PIPE, stderr=subprocess.PIPE)
output,errdata=popen.communicate() #this waits for the executable to finish
return output,errdata
编辑 1:现在我创建了一个网站,用户可以在其中选择多个图像,然后我将其作为 XML HTTP Post 请求发送。可执行文件使用这些图像做一些事情,然后返回响应。该服务器是一个运行带有 mod_wsgi 的 Django 的 Apache 服务器。
在 aychedee 在他自己的回答中发表的评论之一中,他建议通过将 SockJS 或 SocketIO 与 Django 一起使用来模拟 websocket。
我不确定,它是如何工作的。我是否能够通过 HTTP Post 请求上传图像,然后使用 SockJS 与 Django 进行通信。提前致谢。