>>84
んじゃ漏れもまじめに。クライアント側の簡単なところだけ書いとく。

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 のネットワークプログラミグについて調べる方が
よい情報を得られそうな気がする。