Simple telnet serveur de chat en Python

Que j'ai lu sur les sockets et a trouvé un bon exercice pour essayer: un simple serveur de chat qui se fait l'écho d'entrée. Cela semble être un bon exercice et j'ai trouvé plusieurs exemples tels que chatserver5.py et certains DONC questions. Le problème est que je ne peut se connecter lors de l'utilisation de telnet localhost 51234 et pas telnet 192.168.1.3 51234 (où 192.168.1.3 est l'adresse IP du réseau de mon "serveur"). Inutile de dire, je ne peux pas connecter depuis une autre machine sur mon réseau. J'obtiens le résultat suivant:

Trying 192.168.1.3...
telnet: connect to address 192.168.1.3: Connection refused
telnet: Unable to connect to remote host

Voici mon code:

import socket, threading

HOST = '127.0.0.1'
PORT = 51234 

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(4)
clients = [] #list of clients connected
lock = threading.Lock()


class chatServer(threading.Thread):
    def __init__(self, (socket,address)):
        threading.Thread.__init__(self)
        self.socket = socket
        self.address= address

    def run(self):
        lock.acquire()
        clients.append(self)
        lock.release()
        print '%s:%s connected.' % self.address
        while True:
            data = self.socket.recv(1024)
            if not data:
                break
            for c in clients:
                c.socket.send(data)
        self.socket.close()
        print '%s:%s disconnected.' % self.address
        lock.acquire()
        clients.remove(self)
        lock.release()

while True: # wait for socket to connect
    # send socket to chatserver and start monitoring
    chatServer(s.accept()).start()

Je n'ai aucune expérience à l'aide de telnet ou de sockets. Pourquoi je ne peux pas me connecter à distance et comment puis-je résoudre ce problème afin que je puisse?

Avez-vous un pare-feu?

OriginalL'auteur styfle | 2011-06-27