Skip to content

Twisted でネットワークプログラミングする

Twisted は Python でのネットワークプログラミングを容易にしてくれるフレームワークです。公式サイトには「イベント・ドリブンなネットワークエンジン」と書かれており、TCP、UDP、SSL/TLS、マルチキャスト、UNIX ソケット、HTTP、NNTP、IMAP、SSH、IRC、FTP、その他、多数のプロトコルをサポートしているそうです。

インストールする

Twisted を使うには、ダウンロードページ からソースコードをダウンロードし、インストールします。Twisted は Zope Interface に依存している為、インストール時に Zope Interface もインストールされていました。

1
2
3
4
tar zxvf Twisted-8.2.0.tar.bz2
cd Twisted-8.2.0
python setup.py build
sudo python setup.py install

Hello, World!

Hello, World! を書いてみます。以下のソースコードを保存します。SITE 変数に設定したパスには適当な html ファイルを置いておき、このスクリプトを実行後、Web ブラウザから http://127.0.0.1:10080/test.html へアクセスし、意図した通りに表示されることを確認します。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#/usr/bin/env python

from twisted.web import server, static
from twisted.internet import reactor

SITE = "/Users/eco/Sites"
PORT = 10080

reactor.listenTCP(PORT, server.Site(static.File(SITE)))
reactor.run()