Twistedで初めてのTCPサーバー
明日大谷さんの下僕、もとい助手として"Python Workshop the Edge 2007"に参加してきます。
ということで、Python+Twistedの門を叩いてみました。
まずはTCPサーバー、ということで下記のようなものを作りました。
# luckynumberserver.py
-------------------------------------------------------------------------------
from twisted.internet.protocol import Protocol, Factory
from twisted.internet import reactor
from datetime import date
class LuckyNumber(Protocol):
def connectionMade(self):
self.transport.write("Today's lucky number is... %d!\r\n" % self.factory.luckyNumber)
self.transport.loseConnection()
class LuckyNumberFactory(Factory):
protocol = LuckyNumber
def __init__(self):
self.luckyNumber = date.today().day
reactor.listenTCP(8007, LuckyNumberFactory())
reactor.run()
-------------------------------------------------------------------------------
このスクリプトを実行しサーバーにアクセスすると、
Today's lucky number is... 29!
と、その日のラッキーナンバーが表示されるという代物です。
ソースを知らないユーザーでも、2日目には中で何が起こっているか理解することでしょう。
- The URL to Trackback this entry is:
- http://dev.ariel-networks.com/Members/nagai/twisted521d30813066306etcp30b530fc30fc/tbping