ネットワーキングとIPCのインターフェイスとしてsocketインターフェイスについて解説します。
socketは BSD UNIX 系のsocket インターフェイスのpythonのラッパーです。socket システムコールを利用して低い階層のネットワーキングインターフェイスを提供します。BSD socketインターフェイスへのPythonからのアクセスモジュールです。
以下の仕様はほぼ BSD UNIXの仕様を踏襲しています。
定数 socket ファミリー
socket.AF_UNIX | |
socket.AF_INET | |
socket.AF_INET6 | |
socket.SOCK_STREAM | |
socket.SOCK_DGRAM | |
socket.SOCK_RAW | |
socket.SOCK_RDM | |
socket.SOCK_SEQPACKET | |
socket.SOCK_CLOEXEC | |
socket.SOCK_NONBLOCK |
例外処理
socket.error | OSError | |
socket.herror | POSIX C API | host address関連 |
socket.gaierror | getaddrinfo | アドレス関連エラー |
socket.timeout | タイムアウト設定が許可されている時のタイムアウト関連エラー |
関数
socket.socket()
引数で与えれたインターフェイスの新しいソケットを作成する。
sock = socket.socket(
socket.AF_INET,
socket.SOCK_STREAM | socket.SOCK_NONBLOCK )
socket.socketpair()
接続した新しいソケットのペアを作成します。
socket.create_connection()
これは socket.connect() の上位レベルの関数です。引数で指定されたすべての可能性のあるアドレスと接続を試みます。
socket.create_server()
TCPソケットを作成し、ソケットオブジェクトを返します。
import socket
addr = ("",8000) # Port 8000
s = socket.create_server(addr)