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

socket_accept

ソケットの接続を受け入れます
名前:socket_accept
カテゴリ:ソケット
対応言語:php
一言説明:接続リクエストを受け入れ、クライアントと通信するための新しいソケットリソースを返します

関数名:socket_accept()

該当するバージョン:PHP 4> = 4.1.0、PHP 5、PHP 7

使用法:socket_accept()関数は、接続要求を受け入れるために使用され、クライアントと通信するための新しいソケットリソースを返します。

構文:ResourceSocket_accept(リソース$ socket)

パラメーター:

  • $ socket:必須、socket_create()またはsocket_accept()によって返されるリッスンソケットリソース。

返品値:クライアントとの通信のために、成功したときに新しいソケットリソースを返します。障害の場合にfalseを返し、socket_last_error()を介してエラーコードを取得できます。

例:

 // 创建套接字$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // 绑定套接字到IP 地址和端口socket_bind($socket, '127.0.0.1', 8080); // 开始监听连接socket_listen($socket); // 接受客户端连接请求$clientSocket = socket_accept($socket); // 与客户端进行通信while (true) { // 从客户端接收数据$data = socket_read($clientSocket, 1024); // 处理数据// 向客户端发送响应socket_write($clientSocket, "Hello, client!"); // 结束通信if ($data === 'quit') { socket_close($clientSocket); break; } } // 关闭套接字socket_close($socket);

上記の例では、ソケットを作成してローカルポート8080にバインドします。その後、socket_listen()関数を介して接続の聴取を開始します。クライアント接続要求がある場合、socket_accept()を使用して接続を受け入れ、新しいソケットリソース$ clientsocketを返します。次に、ループを入力し、socket_read()を介してクライアントからデータを受信し、データを処理し、socket_write()を介してクライアントに応答を送信します。受信したデータが「終了」されている場合、クライアントとの接続が閉じられ、通信が終了します。最後に、socket_close()を使用してソケットを閉じます。

類似の関数
  • メッセージを読んでください socket_recvmsg

    socket_recvmsg

    メッセージを読んでください
  • 特定のaddrinfoからソケットに作成してバインドします socket_addrinfo_bind

    socket_addrinfo_bind

    特定のaddrinfoからソケットに作成
  • ソケットリソースにブロッキングモードを設定します socket_set_block

    socket_set_block

    ソケットリソースにブロッキングモードを設
  • カプセル化されたソケットのストリームにソケット拡張リソースをエクスポートします socket_export_stream

    socket_export_stream

    カプセル化されたソケットのストリームにソ
  • 名前をソケットにバインドします socket_bind

    socket_bind

    名前をソケットにバインドします
  • 接続を受け入れるためにポートのソケットを開きます socket_create_listen

    socket_create_listen

    接続を受け入れるためにポートのソケットを
  • ファイル記述子FDの非ブロッキングモードを設定します socket_set_nonblock

    socket_set_nonblock

    ファイル記述子FDの非ブロッキングモード
  • メッセージバッファサイズを計算します socket_cmsg_space

    socket_cmsg_space

    メッセージバッファサイズを計算します