невозможно создать новый канал в javascript API канала

Вот мой файл питона

import os
from google.appengine.api import channel
from google.appengine.ext import webapp
from google.appengine.ext.webapp import template
from google.appengine.ext.webapp.util import run_wsgi_app
import logging


token = 'default'

class SendMessage(webapp.RequestHandler):
    def post(self):
        logging.info('Sending messgae with tokens : ' + token)
        channel.send_message(token,'Hello from the server')

class MainPage(webapp.RequestHandler):
    def get(self):
        global token
        token = channel.create_channel('ram')
        logging.info('Token : ' + token)
        channel.send_message(token,'Hello from the server')
        template_values = {'token': token}
        path = os.path.join(os.path.dirname(__file__), 'index.html')

        self.response.out.write(template.render(path, template_values))



application = webapp.WSGIApplication([
    ('/', MainPage),('/sendmessage',SendMessage)], debug=True)


def main():
  run_wsgi_app(application)

if __name__ == "__main__":
  main()

и HTML-файл

<html>
    <head> 
        <script type="text/javascript" src="https://talkgadget.google.com/talkgadget/channel.js"></script>
    </head>
    <body >
        <script>
            var state = {
                token: '{{ token }}'
            };
            var token = state.token;
            openChannel = function () {
                var channel = new goog.appengine.Channel(token.toString());
                var socket = channel.open();
                socket.onopen = function () {
                    alert('open');
                };
                socket.onmessage = function () {
                    alert('message');
                };
                socket.onerror = function () {
                    alert('error');
                };
                socket.onclose = function () {
                    alert('close');
                };
            };

            sendMessage = function () {

                var xhr = new XMLHttpRequest();
                xhr.open('POST', '/sendmessage', true);
                xhr.send();
            };
        </script>
        Hi All, <br>
        <button onclick="openChannel()">Open Connection</button>
        <button onclick="sendMessage()">Send Message</button>
    </body>
</html>

На странице есть кнопка Open Connection, которая создает канал к созданному токену на стороне сервера. Теперь, когда я нажимаю на эту кнопку, он мигает предупреждением об ошибке, а затем закрывает предупреждение. Я хочу создать канал и отправить сообщение с сервера в браузер.

Я что-то пропустил ?


person Sunil Garg    schedule 17.12.2015    source источник
comment
В чем ошибка? Вы видите что-нибудь в консоли JavaScript?   -  person kanaka    schedule 17.12.2015
comment
он не показывает никаких ошибок в консоли javascript :(   -  person Sunil Garg    schedule 18.12.2015
comment
Я запускаю это на своем локальном сервере разработки. какие-либо изменения, которые я должен внести, чтобы работать на локальном компьютере?   -  person Sunil Garg    schedule 18.12.2015
comment
Вы должны добавить параметр err в функцию onerror и зарегистрировать его, OP   -  person Nick    schedule 22.12.2015
comment
Кроме того, {{ token }} кажется неуместным. Что отвечает за фактическое создание шаблона этого токена? Разве служба не создает свой собственный токен?   -  person Nick    schedule 22.12.2015