Я делаю многоклиентную программу чата на витом питоне. В моей программе, если мы отправляем «список» с одного клиента, сервер должен отправить список подключенных клиентов этому клиенту. Кроме того, когда мы отправляем «разговорное имя клиента» от одного клиента, сервер должен отправить это сообщение клиенту назначения, указанному в «имени клиента». Но мой код не работает. Есть ошибки на сервере. Не отображает список, а также говорить не работает.
Код моего сервера указан ниже:
class MultiEcho(Protocol):
def __init__(self, factory):
self.factory = factory
def connectionMade(self):
self.factory.clients.append(self)
def dataReceived(self,data):
data = data.strip()
if (data == "list"):
for client in self.factory.clients:
print self.factory.clients
self.transport.write(self.factory.clients)
else:
data = data.split()
if (len(data) > 1):
l = data[1]
m = data[2]
l.transport.write(m)
def connectionLost(self,reason):
self.factory.clients.remove(self)
class MultiEchoFactory(Factory):
def __init__(self):
self.clients = []
def buildProtocol(self, addr):
return MultiEcho(self)
if __name__ == '__main__':
import sys
if len(sys.argv) != 4:
print "Sorry.. not correct.. Try Again!"
sys.exit(1)
else:
if (sys.argv[1] == "chatserver") and (sys.argv[2] == "-p"):
PORT = sys.argv[3]
reactor.listenTCP(8000, MultiEchoFactory())
reactor.run()
Может кто-нибудь дать мне решение, пожалуйста