ホームページ  >  記事  >  バックエンド開発  >  ネットワークプログラミングに PHP 組み込み関数を使用するにはどうすればよいですか?

ネットワークプログラミングに PHP 組み込み関数を使用するにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-04-23 08:27:01897ブラウズ

この記事では、ソケットの作成、ソケットのバインド、ソケットのリッスン、クライアント接続の受け入れ、データの送受信、ソケットのクローズなど、PHP の組み込み関数を使用したネットワーク プログラミングの手順について説明します。

如何使用 PHP 内置函数进行网络编程?

PHP 組み込み関数の使用: ネットワーク プログラミング

PHP には、ネットワーク プログラミングを簡単に実行できる一連の組み込み関数が用意されています。この記事では、これらの関数を使用してネットワーク ソケットを作成および使用する実際の例を検討します。

ネットワーク ソケットの作成

socket_create() 関数 は、ネットワーク ソケットの作成に使用されます。 3 つのパラメータを取ります:

  • $domain - ソケットのドメイン (例: IPv4 の AF_INET)
  • $ type - ソケットのタイプ (例: TCP の SOCK_STREAM)
  • $protocol - 使用するプロトコル (TCP の場合、通常は 0#) ##)
  • $socket = socket_create(AF_INET, SOCK_STREAM, 0);
    if (!$socket) {
        die("socket_create() 失败: " . socket_strerror(socket_last_error()));
    }
ネットワーク ソケットのバインド

socket_bind() 関数 ソケットを特定のアドレスとポートにバインドします。次のパラメータを指定する必要があります:

  • $socket - バインドするソケット
  • $address - バインドするソケットIP アドレス
  • $port - バインドするポート
  • $address = "127.0.0.1";
    $port = 8080;
    if (!socket_bind($socket, $address, $port)) {
        die("socket_bind() 失败: " . socket_strerror(socket_last_error()));
    }
リッスン ネットワーク ソケット

socket_listen () 機能 ソケットを待機状態に設定します。次のパラメータを指定する必要があります:

  • $socket - リッスンするソケット
  • $backlog - キューに入れられる最大数キュー 接続数
  • $backlog = 5;
    if (!socket_listen($socket, $backlog)) {
        die("socket_listen() 失败: " . socket_strerror(socket_last_error()));
    }
クライアント接続の受け入れ

socket_accept() 関数 は、クライアント接続が到着するまでブロックされます。接続を表す新しいソケットを返します。

$client_socket = socket_accept($socket);
if (!$client_socket) {
    die("socket_accept() 失败: " . socket_strerror(socket_last_error()));
}

データの送受信

socket_send() および socket_recv() 関数 は、ソケット経由で送信するために使用され、データを受信します。

データの送信:

$data = "Hello, client!";
if (!socket_send($client_socket, $data, strlen($data), 0)) {
    die("socket_send() 失败: " . socket_strerror(socket_last_error()));
}

データの受信:

$buffer = socket_recv($client_socket, 1024, 0);
if (!$buffer) {
    die("socket_recv() 失败: " . socket_strerror(socket_last_error()));
}

ネットワーク ソケットを閉じる

Inネットワークソケットの使用が完了したら、それを閉じる必要があります。

クライアント ソケットを閉じる:

socket_close($client_socket);

サーバー ソケットを閉じる:

socket_close($socket);

以上がネットワークプログラミングに PHP 組み込み関数を使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。