猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

Pythonでソケットプログラミング その3

Pythonの標準ライブラリを用いてエコーサーバを書き直してみます。

標準ライブラリの利用

import SocketServer

class MyTCPHandler(SocketServer.BaseRequestHandler):

    def handle(self):
        self.data = self.request.recv(1024).strip()
        self.request.sendall(self.data)

if __name__ == "__main__":
    HOST, PORT = "localhost", 8080

    server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
    server.serve_forever()

 ソケットの作成からリクエストのアクセプトまでライブラリ側が処理をしてくれます。ソケットに対するレスポンスの処理のみ、ユーザが独自に定義する必要があります。