не може да се създаде нов канал в javascript на API на канала

Ето моя python файл

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