国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ PHPフレームワーク Workerman Workerman を使用して同時(shí)実行性の高いネットワーク プログラミングを?qū)g裝する方法

Workerman を使用して同時(shí)実行性の高いネットワーク プログラミングを?qū)g裝する方法

Nov 07, 2023 am 09:05 AM

Workerman を使用して同時(shí)実行性の高いネットワーク プログラミングを?qū)g裝する方法

ネットワーク アプリケーションの継続的な開(kāi)発に伴い、同時(shí)実行性の高いネットワーク プログラミングは、今日のネットワーク アプリケーション開(kāi)発における重要なテクノロジの 1 つになっています。 Workerman は、PHP をベースにした高性能ネットワーク通信フレームワークで、完全なネットワーク プログラミング ソリューションを提供し、同時(shí)実行性の高いネットワーク プログラミングをより簡(jiǎn)単に実裝できるようにします。

この記事では、Workerman を使用して同時(shí)実行性の高いネットワーク プログラミングを?qū)g裝する方法を、いくつかの具體的なコード例を通じて紹介します。

1. Workerman のインストール

Workerman はサードパーティの拡張機(jī)能パッケージであり、composer を通じてインストールする必要があります。ターミナルに次のコマンドを入力します。

composer require workerman/workerman

インストールが完了すると、プロジェクトのルート ディレクトリに追加のベンダー ディレクトリが作成され、そこには Workerman 関連のファイルが含まれます。

2. 単純な TCP サーバーの作成

シンプルな TCP サーバーを作成し、クライアントのリンク リクエストを監(jiān)視し、クライアントから送信されたデータをクライアントに返しましょう。まず、プロジェクトのルート ディレクトリに次の內(nèi)容の server.php ファイルを作成します。

<?php
require_once __DIR__ . '/vendor/autoload.php';

use WorkermanWorker;

$server = new Worker('tcp://0.0.0.0:8080');

$server->onConnect = function($connection) {
    echo "New client connected
";
};

$server->onMessage = function($connection, $data) {
    $connection->send($data);
};

$server->onClose = function($connection) {
    echo "Client closed connection
";
};

Worker::runAll();

上記のコードでは、クライアント接続リクエストをリッスンするための新しい Worker オブジェクトを作成しました。クライアントがサーバーに接続すると、onConnect コールバック関數(shù)が呼び出され、接続が成功したことを示すメッセージが出力されます。クライアントがメッセージを送信すると、サーバーは onMessage コールバック関數(shù)を呼び出し、クライアントから送信されたデータをそのままの狀態(tài)でクライアントに返します。クライアントが切斷されると、サーバーは onClose コールバック関數(shù)を呼び出し、切斷メッセージを出力します。最後に、Worker::runAll() 関數(shù)を呼び出してサーバーを起動(dòng)します。

3. サーバーを起動(dòng)します

ターミナルでプロジェクトのルート ディレクトリを入力し、次のコマンドを入力してサーバーを起動(dòng)します:

php server.php start

起動(dòng)後、次のプロンプト メッセージが表示されます。表示:

Workerman[2022]: Worker starting...
Workerman[2022]: Worker started.

は、サーバーが正常に起動(dòng)したことを示します。

4. サーバーをテストする

telnet コマンドを使用して、サーバーの通常の動(dòng)作をテストできます。ターミナルに次のコマンドを入力します。

telnet 127.0.0.1 8080

接続が成功したら、コンテンツを入力すると、サーバーは入力されたコンテンツをそのまま返します。切斷したい場(chǎng)合は、Ctrl ] を押して終了し、Telnet クライアントを終了します。

5. マルチプロセス モードを使用する

接続數(shù)が多くなると、シングルプロセス モードでは需要に対応できなくなります。この時(shí)點(diǎn)では、マルチプロセス モードを使用できます。高い同時(shí)処理を?qū)g現(xiàn)します。以下は、Workerman のマルチプロセス モードを使用するサンプル コードです:

<?php
require_once __DIR__ . '/vendor/autoload.php';

use WorkermanWorker;

$worker = new Worker('tcp://0.0.0.0:8080');

$worker->count = 4;

$worker->onWorkerStart = function($worker) {
    echo "Worker #" . $worker->id . " started
";
};

$worker->onConnect = function($connection) {
    echo "New client connected
";
};

$worker->onMessage = function($connection, $data) {
    $connection->send($data);
};

$worker->onClose = function($connection) {
    echo "Client closed connection
";
};

Worker::runAll();

上記のコードでは、$worker->count = 4; という行を追加しました。これは、クライアント リクエストを同時(shí)に処理するために 4 つのプロセスを開(kāi)くことを意味します。 。また、各プロセスの開(kāi)始時(shí)にメッセージを出力する新しい onWorkerStart コールバック関數(shù)も追加しました。

6. UDP プロトコルの使用

Workerman を使用すると、ネットワーク プログラミングに UDP プロトコルを簡(jiǎn)単に使用することもできます。以下は UDP サーバーのサンプル コードです:

<?php
require_once __DIR__ . '/vendor/autoload.php';

use WorkermanWorker;

$worker = new Worker('udp://0.0.0.0:8080');

$worker->onMessage = function($connection, $data) {
    $connection->send($data);
};

Worker::runAll();

このうち、udp://0.0.0.0:8080 を使用して UDP サーバーを作成し、受信したデータを onMessage コールバック関數(shù)にそのまま殘します。クライアントに。

概要

この記事では、Workerman を使用して同時(shí)実行性の高いネットワーク プログラミングを?qū)g裝する方法を、具體的なコード例を通じて紹介します。シンプルな TCP サーバーからマルチプロセス モード、UDP プロトコルに至るまで、Workerman は完全なネットワーク プログラミング ソリューションを提供し、同時(shí)実行性の高いネットワーク プログラミングの実裝を容易にします。

以上がWorkerman を使用して同時(shí)実行性の高いネットワーク プログラミングを?qū)g裝する方法の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國(guó)語(yǔ) Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)