Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Python twisted reactor - address already in use

I'm following a tutorial http://www.raywenderlich.com/3932/how-to-create-a-socket-based-iphone-app-and-server for creating a sample using socket programming in Mac OS X enviromment.

I'm writing using post 80 for reactor.listenTCP(80, factory). When I run the server.py file, getting an error:

File "server.py", line 10, in <module>
    reactor.listenTCP(6, factory)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/posixbase.py", line 436, in listenTCP
    p.startListening()
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/twisted/internet/tcp.py", line 641, in startListening
    raise CannotListenError, (self.interface, self.port, le)
twisted.internet.error.CannotListenError: Couldn't listen on any:80: [Errno 48] Address already in use.

Source code is as follow:

from twisted.internet.protocol import Factory, Protocol
from twisted.internet import reactor

class IphoneChat(Protocol):
    def connectionMade(self):
        self.factory.clients.append(self)
        print "clients are ", self.factory.clients

    def connectionLost(self, reason):
        self.factory.clients.remove(self)

factory = Factory()
factory.protocol = IphoneChat
factory.clients = []
reactor.listenTCP(80, factory)
print "Iphone Chat server started"
reactor.run()

If I'm using another port no like 6 etc, it is working fine. I just wanted to know, how can I use port 80 for the same application.

like image 597
iPhoneDv Avatar asked Feb 01 '13 06:02

iPhoneDv


1 Answers

Open Activity Monitor, search for Python and kill the process. You probably messed up with closing a server once.

like image 69
Oscar Apeland Avatar answered Oct 03 '22 12:10

Oscar Apeland