Форум сайта python.su
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()
Офлайн
Может воспользоваться какими-то уже реализованными пакетами? Например похожий функционал есть в AMQP, который имеет множество реализаций (RabbitMQ самая известная) в том числе на twisted (https://launchpad.net/txamqp).
Также что-то подобное имеется в redis - http://code.google.com/p/redis/wiki/PublishSubscribe
UPD.
Если ruby не пугает, то посмотрите пример с redis http://gist.github.com/348262
Отредактировано (Июнь 16, 2010 08:43:40)
Офлайн
ziroСпс за ответ. Буду разбиратся что за зверь этот AMQP)
Может воспользоваться какими-то уже реализованными пакетами? Например похожий функционал есть в AMQP, который имеет множество реализаций (RabbitMQ самая известная) в том числе на twisted (https://launchpad.net/txamqp).
Также что-то подобное имеется в redis - http://code.google.com/p/redis/wiki/PublishSubscribe
UPD.
Если ruby не пугает, то посмотрите пример с redis http://gist.github.com/348262
Офлайн