人生の敗北者でも使えるPythonのお勉強 Part3
■ このスレッドは過去ログ倉庫に格納されています
008581
NGNGんじゃ漏れもまじめに。クライアント側の簡単なところだけ書いとく。
1. ソケットを作ってブロックしないように設定する。
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.setblocking(0)
2. サーバに接続する。
code = sock.connect_ex(address)
接続できなければ code にエラーコードが返る。connect_ex() を繰り返し
呼ぶ必要がある場合がある。
3. データを送信する。
r, w, e = select.select([], [sock], [], 0)
if not w:
送信不可
sock.send(data)
まず select() でソケットへデータを送信できる状態になっているか調べる。
もし送信可能なら send() する。
4. データを受信する。
r, w, e = select.select([sock], [], [], 0)
if not r:
受信不可
data = sock.recv()
まず select() でソケットからデータを受信できる状態になっているか調べる。
もし受信可能なら send() する。
socket や select は Unix の伝統的な API で、Python でもほぼ同じ
要領で使える。むしろ Unix のネットワークプログラミグについて調べる方が
よい情報を得られそうな気がする。
■ このスレッドは過去ログ倉庫に格納されています