Форум сайта python.su
Всем привет! Я пишу сервер с использованием twisted. К серверу могут подключаться несколько клиентов, сервер может принимать от них сообщения и обрабатывать их. Результат должен отправлять только одному клиенту. Сразу после установления соединения клиент присылает на сервер строку вида “ima:name”, где в качестве name используется UserID. Нужно как-то идентифицировать клиент-ресивер по UserID, чтобы сервер мог знать, кому отправлять сообщения. Первое, что пришло в голову - запомнить номер клиента при подключении:
num = len(self.factory.clients)-1 print "this client is", num
class IphoneChat(Protocol): def connectionMade(self): self.factory.clients.append(self) print "clients are ", self.factory.clients def dataReceived(self, data): a = data.split(':') command = a[0] content = a[1] if command == "iam": self.name = content msg = self.name + " has joined" print msg
Отредактировано Ivan777 (Май 20, 2015 23:28:53)
Офлайн