Я работаю над простым веб-приложением, которое выполняется с угловым и вишневым (прототипирование на данный момент). Я загружаю два файла, а затем вызываю внешнюю программу python внутри cherrypy для их обработки, используя подпроцесс (popen). Я могу это сделать до сих пор. То, что я хочу достичь, - это выход внешней программы (которую я поймаю через popen), переданной клиенту. Моя проблема в том, что я пытаюсь настроить сервер отправил события на cherrypy и не имеет успеха.Как настроить события, переданные сервером cherrypy
Вот мой метод CherryPy Я обнажая (пример одного из Интернета):
@cherrypy.expose
def getUpdate(self):
#Set the expected headers...
cherrypy.response.headers["Content-Type"] = "text/event-stream;charset=utf-8"
def content():
yield "Hello,"
yield "world"
return content()
А вот Javascript код клиента (я CO включен и работаю):
var sseEvent = new EventSource('http://localhost:8090/getUpdate');
sseEvent.onmessage = function (event) {
console.log(event);
};
sseEvent.onopen = function (event) {
//console.log("I have started...");
};
Я посмотрел на это question и в этом blog. Тем не менее, событие onmessage на объекте EventSource не запускается при вызове функции со стороны сервера. Я понимаю, что вы можете вызвать функцию со стороны сервера, и она поймает событие из браузера. Я ошибаюсь или неправильная установка?