English 中文(简体)
缩略语
原标题:tornado websockets ioloop exception

I m试图从Tundo网吧获得“世界”的榜样。 I m 预示着新 tornado, 并完全是新到的。 我已具体指明了以下手稿,即:

class EchoWebSocket(tornado.websocket.WebSocketHandler):
    def open(self):
        print "WebSocket opened"

    def on_message(self, message):
        self.write_message(u"You said: " + message)

    def on_close(self):
        print "WebSocket closed"

and call it from javascript using

var ws = new WebSocket("ws://localhost:6665/websocket");
ws.onopen = function() {
   ws.send("Hello, world");
};
ws.onmessage = function (evt) {
   alert(evt.data);
};

也可从笔记中取。 我立即举出三个例外:

[E 111123 17:45:54 iostream:233] Uncaught exception, closing connection.
    Traceback (most recent call last):
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 230, in _run_callback
        callback(*args, **kwargs)
      File "/local/lib/python2.5/site-packages/tornado/stack_context.py", line 173, in wrapped
        callback(*args, **kwargs)
      File "/local/lib/python2.5/site-packages/tornado/httpserver.py", line 353, in _on_headers
        self.request_callback(self._request)
      File "/local/lib/python2.5/site-packages/tornado/web.py", line 1182, in __call__
        handler = spec.handler_class(self, request, **spec.kwargs)
    TypeError: default __new__ takes no parameters
[E 111123 17:45:54 iostream:221] Uncaught exception, closing connection.
    Traceback (most recent call last):
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 199, in _handle_events
        self._handle_read()
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 258, in _handle_read
        if self._read_from_buffer():
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 325, in _read_from_buffer
        self._consume(loc + delimiter_len))
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 230, in _run_callback
        callback(*args, **kwargs)
      File "/local/lib/python2.5/site-packages/tornado/stack_context.py", line 173, in wrapped
        callback(*args, **kwargs)
      File "/local/lib/python2.5/site-packages/tornado/httpserver.py", line 353, in _on_headers
        self.request_callback(self._request)
      File "/local/lib/python2.5/site-packages/tornado/web.py", line 1182, in __call__
        handler = spec.handler_class(self, request, **spec.kwargs)
    TypeError: default __new__ takes no parameters
[E 111123 17:45:54 ioloop:281] Exception in I/O handler for fd 4
    Traceback (most recent call last):
      File "/local/lib/python2.5/site-packages/tornado/ioloop.py", line 269, in start
        self._handlers[fd](fd, events)
      File "/local/lib/python2.5/site-packages/tornado/stack_context.py", line 173, in wrapped
        callback(*args, **kwargs)
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 199, in _handle_events
        self._handle_read()
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 258, in _handle_read
        if self._read_from_buffer():
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 325, in _read_from_buffer
              self._consume(loc + delimiter_len))
      File "/local/lib/python2.5/site-packages/tornado/iostream.py", line 230, in _run_callback
        callback(*args, **kwargs)
      File "/local/lib/python2.5/site-packages/tornado/stack_context.py", line 173, in wrapped
        callback(*args, **kwargs)
      File "/local/lib/python2.5/site-packages/tornado/httpserver.py", line 353, in _on_headers
        self.request_callback(self._request)
      File "/local/lib/python2.5/site-packages/tornado/web.py", line 1182, in __call__
        handler = spec.handler_class(self, request, **spec.kwargs)
    TypeError: default __new__ takes no parameters

which I confess to being unable to properly parse, and I m nervous to dip into tornado.web. Is there something obvious I m doing wrong? I m using tornado 1.2.1.

最佳回答

It might have to do with the old version of Python you are using (2.5 from the logs). The behavior of object.__init__ and object.__new__ changed few years ago: http://svn.python.org/view?revision=54539&view=revision

此外,我认为,你的问题有了一个打字面:你指的是“tornado 2.1.1”而不是“tornado 1.2.1”。

问题回答

暂无回答




相关问题
Can Django models use MySQL functions?

Is there a way to force Django models to pass a field to a MySQL function every time the model data is read or loaded? To clarify what I mean in SQL, I want the Django model to produce something like ...

An enterprise scheduler for python (like quartz)

I am looking for an enterprise tasks scheduler for python, like quartz is for Java. Requirements: Persistent: if the process restarts or the machine restarts, then all the jobs must stay there and ...

How to remove unique, then duplicate dictionaries in a list?

Given the following list that contains some duplicate and some unique dictionaries, what is the best method to remove unique dictionaries first, then reduce the duplicate dictionaries to single ...

What is suggested seed value to use with random.seed()?

Simple enough question: I m using python random module to generate random integers. I want to know what is the suggested value to use with the random.seed() function? Currently I am letting this ...

How can I make the PyDev editor selectively ignore errors?

I m using PyDev under Eclipse to write some Jython code. I ve got numerous instances where I need to do something like this: import com.work.project.component.client.Interface.ISubInterface as ...

How do I profile `paster serve` s startup time?

Python s paster serve app.ini is taking longer than I would like to be ready for the first request. I know how to profile requests with middleware, but how do I profile the initialization time? I ...

Pragmatically adding give-aways/freebies to an online store

Our business currently has an online store and recently we ve been offering free specials to our customers. Right now, we simply display the special and give the buyer a notice stating we will add the ...

Converting Dictionary to List? [duplicate]

I m trying to convert a Python dictionary into a Python list, in order to perform some calculations. #My dictionary dict = {} dict[ Capital ]="London" dict[ Food ]="Fish&Chips" dict[ 2012 ]="...

热门标签