# ソケット

# はじめに

ソケット拡張モジュールは、一般的な BSD ソケットに基づくソケット通信に関する低レベルインターフェイスを実装し、 クライアントだけでなく、 ソケットサーバーとして動作させることが可能となります。

より一般的なクライアントサイドのソケットインターフェイスについては、 stream_socket_client()、 stream_socket_server()、 fsockopen() および pfsockopen() を参照ください。

ここで説明するソケット関数を使用する場合、多くの関数は C 言語に同じ名前の関数が存在しますが、 しばしば定義が異なっていることに注意してください。 混乱を避けるには、説明をよく読んでください。

このようにソケットプログラミングと異なっている点はありますが、 それでも有用な多くの Unix man ページを参照することができます。 Web 上に C 言語のソケットプログラミングのチュートリアル情報が存在し、 その多くは、若干の修正により、 PHP におけるソケットプログラミングに適用することが可能です。 » Unix Socket FAQ が、 手始めとして適しているでしょう。

- インストール/設定
  - インストール手順
  - リソース型
- 定義済み定数
- 例
- ソケットのエラー
- ソケット 関数
  - socket_accept — ソケットへの接続を許可する
  - socket_addrinfo_bind — 与えられた addrinfo から、ソケットを作成してバインドする
  - socket_addrinfo_connect — 与えられた addrinfo から、ソケットを作って接続する
  - socket_addrinfo_explain — addrinfo に関する情報を取得する
  - socket_addrinfo_lookup — 与えられたホスト名に関する getaddrinfo の内容を配列で取得する
  - socket_atmark — ソケットに帯域外マークが付けられているかを調べる
  - socket_bind — ソケットに名前をバインドする
  - socket_clear_error — ソケットのエラーまたは直近のエラーコードをクリアする
  - socket_close — Socket クラスのインスタンスを閉じる
  - socket_cmsg_space — メッセージバッファサイズを計算する
  - socket_connect — ソケット上の接続を初期化する
  - socket_create — ソケット（通信時の終端）を作成する
  - socket_create_listen — 接続を受けつけるためにポートにソケットをオープンする
  - socket_create_pair — 区別できないソケットの組を作成し、配列に保存する
  - socket_export_stream — ソケットをカプセル化したストリームに、ソケットをエクスポートする
  - socket_get_option — ソケットのオプションを取得する
  - socket_getopt — socket_get_option のエイリアス
  - socket_getpeername — 指定したソケットのリモート側に問い合わせる
  - socket_getsockname — 指定したソケットのローカル側に問い合わせ、その型に応じてホスト/ポート、あるいは Unix ファイルシステムのパスを返す
  - socket_import_stream — ストリームをインポートする
  - socket_last_error — ソケットの直近のエラーを返す
  - socket_listen — ソケット上で接続待ち(listen)する
  - socket_read — ソケットから最大バイト長まで読みこむ
  - socket_recv — 接続したソケットからデータを受信する
  - socket_recvfrom — 接続しているかどうかによらず、ソケットからデータを受信する
  - socket_recvmsg — メッセージを読む
  - socket_select — 与えられたソケットの配列に対し、指定した有効時間で select() システムコールを実行する
  - socket_send — 接続したソケットにデータを送信する
  - socket_sendmsg — メッセージを送信する
  - socket_sendto — 接続しているかどうかによらずソケットにメッセージを送信する
  - socket_set_block — ソケットのブロッキングモードを設定する
  - socket_set_nonblock — ソケットリソースを非ブロックモードに設定する
  - socket_set_option — ソケットのオプションを設定する
  - socket_setopt — socket_set_option のエイリアス
  - socket_shutdown — 受信、送信、または送受信用のソケットをシャットダウンする
  - socket_strerror — ソケットエラーの内容を文字列として返す
  - socket_write — ソケットに書き込む
  - socket_wsaprotocol_info_export — WSAPROTOCOL_INFO 構造体をエクスポートする
  - socket_wsaprotocol_info_import — 別のプロセスからソケットをインポートする
  - socket_wsaprotocol_info_release — エクスポートした WSAPROTOCOL_INF 構造体を解放する
- Socket — Socket クラス
- AddressInfo — AddressInfo クラス

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open