from twisted.internet import protocol, reactor, defer, utils
from twisted.protocols import basic
from twisted.web import client
class FingerProtocol(basic.LineReceiver):
def lineReceived(self, line):
self.factory.addUser(self, line)
class FingerFactory(protocol.ServerFactory):
protocol = FingerProtocol
users = []
def addUser(self, con, line):
for connection in self.users:
connection.transport.write('user connected. message: %s' % line)
self.users.append(con)
reactor.listenTCP(1089, FingerFactory())
reactor.run()
хотелось бы узнать нормально ли это реализовать как сделал я или есть какие-либо более правильные решения)
и еще один вопрос:
возможно реализовать на twisted что-то вроде одна нить - несколько клиентов.
тоесть сервер создает нить, кидает в эту нить определенных клиентов.
если пришло сообщение рассылает всем клиентам в нити сообщение и потом возможно кидает нить в очередь
где-то так примерно. надеюсь выразился правильно)