現在の位置: ホーム> 関数カテゴリ一覧> stream_socket_recvfrom

stream_socket_recvfrom

接続または接続されていないソケットからデータを受信します
名前:stream_socket_recvfrom
カテゴリ:ストリーム
対応言語:php
一言説明:ソケットからデータを受信し、受信したデータを返します

関数名:stream_socket_recvfrom()

関数の説明:stream_socket_recvfrom()関数はソケットからデータを受信し、受信したデータを返します。

適用バージョン:PHP 5> = 5.3.0、PHP 7

構文:stream_socket_recvfrom(resource $ socket、int $ length [、int $ flags = 0 [、string&$ address]]):string | false

パラメーター:

  • $ socket:必須では、stream_socket_client()またはstream_socket_server()関数を介して作成できるオープンソケットリソースを表します。
  • $の長さ:必須、受信するデータの最大長さを示します。
  • $フラグ:オプション、データを受信するときに追加のオプションを指定するために使用されます。
  • $アドレス:オプション、送信者のIPアドレスとポート番号を保存するために使用されます。

返品値:成功したときに受信したデータを返し、障害時にfalseを返します。

例:

  1. データを受け取り、印刷:

$ socket = stream_socket_client( "udp://127.0.0.1:1234"、$ errno、$ errstr); if(!$ socket){echo "接続失敗:$ errstr($ errno)"; } else {$ data = stream_socket_recvfrom($ socket、1024); echo "受信データ:$ data"; fclose($ socket); }

  1. データを受け取り、送信者のIPアドレスとポート番号を取得します。

$ socket = stream_socket_server( "udp://127.0.0.1:1234"、$ errno、$ errstr、stream_server_bind); if(!$ socket){echo "サーバーの起動に失敗しました:$ errstr($ errno)"; } else {$ client = stream_socket_accept($ socket); $ data = stream_socket_recvfrom($ client、1024、0、$ address); echo "受信データ:$ data";エコー「送信者アドレス:$ address」; fclose($ client); fclose($ socket); }

注:

  • Stream_Socket_recvfrom()関数は、ストリームソケット(TCP、UDPなど)をサポートするトランスポートプロトコルにのみ適しています。
  • UDPプロトコルを使用する場合、ソケットを作成するときに「udp:///」プロトコルプレフィックスを指定する必要があります。
  • $アドレスパラメーターが指定されている場合、関数は変数に送信者のIPアドレスとポート番号を保存します。
  • $ lengthパラメーターは、受信するデータの最大長を指定します。受信した実際のデータ長がこの値を超えると、データの一部のみが返されます。
  • $ flagsパラメーターを使用して、データを受信するときにオプションを指定できます。一般的なオプションには、msg_waitall(指定された長さのデータが受信されるまで待機)およびmsg_dontwait(非ブロッキングモード)が含まれます。
  • データを受信する前に、Stream_socket_client()またはstream_socket_server()関数を使用して作成できるソケットリソースを作成する必要があります。
類似の関数
人気記事(にんききじ)