タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

Pythonとsocketserverに関するblueleのブックマーク (4)

  • SocketServer – ネットワークサービスを作成する - Python Module of the Week

    SocketServer モジュールはネットワークサービスを作成するフレームワークです。TCP, UDP, Unix ストリームや Unix データグラムで(受け取ったリクエストの処理が完了するまでサーバのリクエストハンドラがブロックする)同期ネットワークリクエストを扱うクラスを定義します。さらに状況に応じて、それぞれのリクエストにスレッドかプロセスを使うように簡単にサーバを移行する mix-in クラスも提供します。 1つのリクエストを処理するレスポンス機能はサーバクラスとリクエストハンドラクラスに分割されます。サーバは通信関連の処理(ソケットを listen する、コネクションを accept する等)を扱います。リクエストハンドラは “プロトコル” 関連の処理(入力データを解釈して処理する、クライアントにデータを送り返す)を扱います。このレスポンス機能の分割により、多くのケースにおい

  • SocketServer が便利すぎる。 - Twisted Mind

    エコーサーバを写経してみた。 echo_server.py # vim: fileencoding=utf8 sts=4 sw=4 import SocketServer class EchoHandler(SocketServer.StreamRequestHandler): def handle(self): print "connect from:", self.client_address while True: data = self.request.recv(8192) if len(data) == 0: break self.request.send(data) self.request.close() if __name__ == '__main__': #server = SocketServer.TCPServer(('', 12345), EchoHandler)

    SocketServer が便利すぎる。 - Twisted Mind
  • SocketServerモジュールを使ったサーバ - Konnichiwa, A doumo

    Echoサーバ/クライアントを通してサーバプログラミングを極める 1connection Server from SocketServer import * RECV_BUF = 8192 class Handler(BaseRequestHandler): def handle(self): print "connect from:", self.client_address while True: ret = self.request.recv(RECV_BUF) if len(ret) == 0: break self.request.send(ret) self.request.close() def main(): sv = TCPServer(('', 7070), Handler) print 'listen to:', sv.socket.getsockname() sv.

  • 21.17. SocketServer — ネットワークサーバ構築のためのフレームワーク — Python v2.6.2 documentation

    ミクシンクラスは UDPServer で定義されるメソッドをオーバライドするために、 先に来なければなりません。様々なメンバ変数を設定することで元になるサーバ機構の振る舞いを変えられます。 サービスの実装には、 BaseRequestHandler からクラスを派生させてその handle() メソッドを再定義しなければなりません。このようにすれば、サーバクラスと要求処理クラスを結合して様々なバージョンのサービスを 実行することができます。要求処理クラスはデータグラムサービスかストリームサービスかで異なることでしょう。この違いは処理サブクラス StreamRequestHandler または DatagramRequestHandler を使うという形で隠蔽できます。 もちろん、まだ頭を使わなければなりません! たとえば、サービスがリクエストによっては 書き換えられるようなメモリ上の状態を

  • 1