2010-05-26 5 views
0

J'ai un script python (dans le framework CherryPy) qui envoie un événement: et des données: du texte comme cela Opera blog post décrit à un navigateur client. Le javascript qui reçoit le contenu de x-dom-event-stream est presque identique à celui affiché dans le blog. Cependant, le navigateur n'affiche que le premier événement envoyé. Quelqu'un sait ce que je manque?x-dom-event-stream dans Opera 10 Travailler uniquement sur le premier événement

J'ai essayé quelques anciennes versions d'Opera et trouvé que cela fonctionne dans Opera 9.52 mais pas dans les versions plus récentes. Qu'ont-ils changé?

Voici le code python:

class dumpData(object): 
    def index(self): 
    cherrypy.response.headers['Content-Type'] = "application/x-dom-event-stream" 

    def yieldData(): 
     i = 0 
     while 1: 
     yield "Event: count\n" 
     yield "data: " 
     yield i 
     yield "\n\n" 
     i = i + 1 
     time.sleep(3); 

    return yieldData() 

index._cp_config = {'response.stream': True} 
index.exposed = True 

Et est ici le javascript/html. Faire une requête à/data/exécute la fonction python ci-dessus. Ouvrir le direct/data/url dans Firefox enregistre le flux dans un fichier. Donc, je sais que la sortie est dans le bon format et que le flux fonctionne à tous.

Répondre

2

C'est un bug. Désolé pour cela: -/

(Pour l'enregistrement: CORE-28592 dans le traqueur de bug malheureusement fermé d'Opera.)

Questions connexes