我刚刚开始使用SSE,而且我已经在某种程度上实现了它。我能够向服务器发出http请求,但我得到的每个响应都回到了onmessage函数。我似乎无法弄清楚为什么我的自定义监听器没有被击中。我有一个“ping”的监听器和一个“pong”的监听器。在我的python脚本中,我有两个事件设置...一个用于“ping”,另一个用于“pong”。我错过了什么?
print "Content-Type: text/event-stream"
print "Cache-Control: no-control"
while True:
print "event: ping\n"
print "id: " + str(randint(0,9))
print "data: Hello World!\n"
print "\n\n"
sys.stdout.flush()
source.onopen = function() {
alert("On open");
};
source.addEventListener("ping", function(e)
{
alert("On ping");
}, false);
source.addEventListener("pong", function(e)
{
alert("On pong");
}, false);
source.onmessage = function(event)
{
alert("On message");
};
我检查了响应标头,它包含event:ping。不确定为什么事件监听器没有把它拿起来?
答案 0 :(得分:0)
我最终想出来了,谢谢你。一旦我从print "event: ping\n"
删除\ n,问题就解决了。