服务器发送的事件侦听器没有被击中?

Server Sent Events Listeners not being hit?

我刚开始使用 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");
};

我检查了响应 header,它包含事件:ping。不确定为什么事件侦听器没有接收到它?

我终于弄明白了,还是谢谢你。从 print "event: ping\n" 中删除 \n 后,问题就解决了。