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

stream_socket_accept

stream_socket_server()によって作成されたソケット接続を受け入れる
名前:stream_socket_accept
カテゴリ:ストリーム
対応言語:php
一言説明:stream_socket_server()関数を介して作成されたソケット接続を受け入れ、クライアントとの通信のために新しいソケット接続を返します

関数名:stream_socket_accept()

関数適用バージョン:PHP 4> = 4.1.0、PHP 5、PHP 7

関数の説明:stream_socket_accept()関数は、stream_socket_server()関数によって作成されたソケット接続を受け入れ、クライアントとの通信のために新しいソケット接続を返します。

構文:Resource Stream_Socket_accept(Resource $ server_socket [、float $ timeout = ini_get( "default_socket_timeout")[、string&$ peername]]))

パラメーター:

  • $ server_socket:必須。 Stream_Socket_Server()関数を介して作成されたソケットリソース。
  • $タイムアウト:オプション。クライアント接続を待っているタイムアウト時間を数秒で指定します。デフォルト値はINI_GET( "Default_Socket_Timeout")、つまりPHP.iniのデフォルトのタイムアウト時間です。
  • $ PeerName:オプション。クライアントのIPアドレスとポート番号を保存するために使用される文字列変数。

返品値:クライアント接続が正常に受け入れられた場合、クライアントと通信するために新しいソケットリソースが返されます。エラーが発生した場合、falseが返されます。

例:<?PHP // Socket Server $ server = stream_socket_serverの作成

if(!$ server){echo "ソケットサーバーを作成できません:$ errstr($ errno)"; } else {echo "クライアント接続を待っています... \ n";

 // 接受客户端连接$client = stream_socket_accept($server); if (!$client) { echo "无法接受客户端连接"; } else { // 与客户端通信$message = "欢迎连接到服务器"; fwrite($client, $message); // 读取客户端发送的数据$data = fread($client, 1024); echo "接收到客户端数据:$data"; // 关闭客户端连接fclose($client); } // 关闭服务器fclose($server);

}?>上記の例では、最初にstream_socket_server()関数を使用してソケットサーバーを作成し、ローカルポート8080にバインドします。次に、stream_socket_accept()関数を使用して、クライアントが接続してクライアントとの通信のために新しいソケットリソースを返すのを待ちます。クライアントとの通信中に、fwrite()関数を使用してクライアントにウェルカムメッセージを送信し、fread()関数を使用してクライアントが送信したデータを読み取ります。最後に、fclose()関数を使用して、クライアント接続とサーバー接続を閉じます。

類似の関数
人気記事(にんききじ)