[Python] Python SocketServer works on localhost but not on server

Discussão em 'Python' iniciado por Stack, Novembro 22, 2024.

  1. Stack

    Stack Membro Participativo

    Included below is the code that I am currently using:

    #! /usr/bin/python
    print 'Content-type: application'
    print '\n\n'

    import SocketServer
    import cgitb
    cgitb.enable()

    class MyTCPHandler(SocketServer.BaseRequestHandler):
    """
    The RequestHandler class for our server.

    It is instantiated once per connection to the server, and must
    override the handle() method to implement communication to the
    client.
    """

    def handle(self):
    # self.request is the TCP socket connected to the client
    self.data = self.request.recv(1024).strip()
    print "{} wrote:".format(self.client_address[0])
    print self.data
    # just send back the same data, but upper-cased
    self.request.sendall(self.data.upper())
    self.request.sendall('Data Received')

    if __name__ == "__main__":
    HOST, PORT = "localhost", 9989

    # Create the server, binding to localhost on port 9989
    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)

    # Activate the server; this will keep running until you
    # interrupt the program with Ctrl-C
    server.serve_forever()


    The code works as expected on localhost, but is unresponsive on public server.

    In addition, executing the code twice results in the following error message:


    error: (98, 'Address already in use')
    ​

    Continue reading...

Compartilhe esta Página