socket_createとは? わかりやすく解説

Weblio 辞書 > コンピュータ > PHP関数リファレンス > socket_createの意味・解説 

socket_create

(PHP 4 >= 4.0.7, PHP 5)
socket_create — ソケット(通信時の終端)を作成する

説明

resource socket_create ( int domain, int type, int protocol )
通信のエンドポイント(終端)と呼ばれることもあるソケットのリソースを 作成し、返します。典型的なネットワーク接続は、2つのソケットから成り 立ちます。このとき、片方はクライアント、もう片方はサーバの役割をします。
パラメータdomainには、ソケットが利用する プロトコルファミリーを指定します。
表 284. 指定可能なアドレス/プロトコルファミリーの一覧
プロトコル説明
AF_INET IPv4インターネットプロトコル。 このプロトコルファミリーに属すプロトコルにはよく知られている TCP と UDP があります。
AF_INET6 IPv6インターネットプロトコル。TCPとUDPがこのプロトコルファミリ の共通のプロトコルです。このプロトコルのサポートは、 PHP 5.0.0 で追加されました。
AF_UNIX ローカルでのコミュニケーションに用いられるプロトコルファミリーです。 高い効率と低いオーバーヘッドを誇るため、IPC (プロセス間通信) でよく使われます。

typeパラメータはソケットが利用する通信のタイプを 指定します。
表 285. 利用できるソケットのタイプ
タイプ説明
SOCK_STREAM このタイプでは、時系列的、高信頼性、全二重、接続型のバイトスト リームが利用できます。帯域外のデータ転送メカニズムがサポートさ れている場合もあります。TCP プロトコルは、このソケットタイプに 基づきます。
SOCK_DGRAM このタイプでは、データグラム(非接続型で、信頼性の高くない 固定バイト長のメッセージ) がサポートされます。 UDP プロトコルは、このソケットタイプに基づきます。
SOCK_SEQPACKET このタイプでは、時系列的な、信頼性のある、双方向の接続指向型の 固定長データグラム転送が利用できます。 パケットを消費する側は、一つのパケット全部を一度の read コールで 読み込む必要があります。
SOCK_RAW このタイプでは、素のネットワークプロトコルを操作できます。 この特殊なソケットを使って、どのタイプのプロトコルでもユーザの手で 構築することができます。よくある使い方として、(ping や traceroute などで行われているような) ICMP リクエストの作成があります。
SOCK_RDM このタイプでは、信頼に足る、非時系列的なデータグラム転送が 利用できます。 ほとんどのオペレーティングシステムでは実装されていないでしょう。

protocol は、ソケット上の通信で使われる domain で指定されたファミリーに属するプロトコルを 指定します。正しい値は、getprotobyname() を使うことで取得できます。利用したいプロトコルが、TCP または UDP の場合は、定数 SOL_TCPSOL_UDP を指定することもできます。
表 286. 共通なプロトコルの一覧
プロトコル名説明
icmp Internet Control Message Protocol は、主にゲートウェイやホストが、 データグラム通信におけるエラーを報告するのに使われます。 "ping" コマンド (最近のほとんどのオペーレーティングシステムに 搭載されています) が ICMP アプリケーションの一例です。
udp User Datagram Protocol は、非接続指向の、信頼性の高くない、 固定のレコード長を用いるプロトコルです。このような側面のおかげで、 UDP はプロトコルとして最小限のオーバーへッドしか要求しません。
tcp Transmission Control Protocol は、信頼性の高い、接続指向かつ ストリーム指向の全二重通信プロトコルです。TCP は、 すべてのパケットが、送信された順序で(時系列的に)受信されることを 保証します。もし、何らかの理由でパケットが通信中に失われた場合、 TCP では、送信先から通知があるまで、パケットが再送信されるように なっています。信頼性とパフォーマンス上の理由から、TCP の実装は、 下層にあるデータグラム通信レイヤーのオクテット幅を 適当な長さに決定します。このため、TCP アプリケーションは、 レコードの全部が一度に転送されない場合も考慮しなければなりません。

socket_create()は、 成功時に有効な記述子を返し、失敗時に FALSE を返します。 実際のエラーコードは、socket_last_error() を コールすることにより取得できます。このエラーコードをさらに socket_strerror()に渡すことにより、 エラーの内容を文字列で取得することが可能です。
注意: domaintype に 不正な値が与えられた場合、socket_create() は、これらを それぞれ AF_INETSOCK_STREAM であるとみなし、E_WARNING メッセージを出します。
socket_accept(), socket_bind(), socket_connect(), socket_listen(), socket_last_error(), socket_strerror() も参照ください。



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「socket_create」の関連用語

socket_createのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



socket_createのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHP Documentation GroupPHP Documentation Group
Copyright © 1997 - 2024 by the PHP Documentation Group.

©2024 GRAS Group, Inc.RSS