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

时间:2016-05-16 19:18:09

标签: javascript python server-sent-events

我刚刚开始使用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。不确定为什么事件监听器没有把它拿起来?

1 个答案:

答案 0 :(得分:0)

我最终想出来了,谢谢你。一旦我从print "event: ping\n"删除\ n,问题就解决了。