Search code examples
pythonweb-servicestornado

How do I run Hello world program in tornado web server (Ubuntu 11.10, in eclipse with PyDev plug in )


I'm tring to run a Hello World program in tornado

I'm using eclipse with pydev plug in (Ubuntu 11.10) to run a Hello world program in tornado web server given their website (http://www.tornadoweb.org/)

import tornado.ioloop
import tornado.web
class MainHandler(tornado.web.RequestHandler):
  def get(self):
    self.write("Hello, world")
application = tornado.web.Application([
     (r"/", MainHandler),
])
if __name__ == "__main__":
      application.listen(8888)
      tornado.ioloop.IOLoop.instance().start()

But the following error hapens

Traceback (most recent call last):
   File "/home/unais/workspace/Turnado/HelloWorld.py", line 13, in <module>
   application.listen(8888,'0.0.0.0')
      File "/usr/local/lib/python2.7/dist-packages/tornado-2.4.1-py2.7.egg/tornado/web.py", line 1289, in listen
   server.listen(port, address)
   File "/usr/local/lib/python2.7/dist-packages/tornado-2.4.1-py2.7.egg/tornado/netutil.py", line 120, in listen
sockets = bind_sockets(port, address=address)
   File "/usr/local/lib/python2.7/dist-packages/tornado-2.4.1-py2.7.egg/tornado/netutil.py", line 286, in bind_sockets
sock.bind(sockaddr)
  File "/usr/lib/python2.7/socket.py", line 224, in meth
   return getattr(self._sock,name)(*args)
  socket.error: [Errno 98] Address already in use

What may be the problem ?


Solution

  • You have another program listening to port 8888. Check for zombie processes or another web app running on your computer.

    You can also avoid it by changing your port for tornado, with application.listen(12345), then use http://127.0.0.1:12345/ on your browser.