ホームページ > PHPフレームワーク > Swoole > Swooleの学習ノートを記録する

Swooleの学習ノートを記録する

coldplay.xixi
リリース: 2021-01-22 10:07:25
転載
2212 人が閲覧しました

Swooleの学習ノートを記録する

#推奨 (無料): swoole

1. インストール

現在、公式に推奨されている方法は 2 つあります。

1) pecl を使用してインストールします。

pecl install swoole
ログイン後にコピー

2)。ソース コードを使用してインストールします。 swoole のリリース バージョンをダウンロードすることをお勧めします。github トランクからコードを取得してコンパイルするのではなく、tar パッケージを直接ダウンロードすることをお勧めします。

swoole パッケージのダウンロード アドレス

次にコンパイルしてインストールします

    wget https://github.com/swoole/swoole-src/archive/v2.0.7.tar.gz
    tar -zxf v2.0.7.tar.gz
    cd swoole-src-2.0.7/
    phpize     //如果执行这个命令没有任何显示的话,使用apt-get install php7.0-dev安装包
    ./configure
    make && make install
ログイン後にコピー

2. php.ini 拡張子を変更します

php.ini 設定ファイルを変更し、コマンド php -i |grep php.ini を使用して php.ini の場所を表示します

設定を追加します

    extension=swoole.so
ログイン後にコピー
php -m または phpinfo() を使用して、swoole が有効かどうかを確認します正常にロードされました

3. Chestnut TCP サーバー、3 ウェイ ハンドシェイク#Socket の簡単な理解

server.php

    //创建Server对象,监听 127.0.0.1:9501端口$serv = new swoole_server("127.0.0.1", 9501); 

    //监听连接进入事件$serv->on('connect', function ($serv, $fd) { 
        echo "Client: Connect.\n";
    });

    //监听数据接收事件$serv->on('receive', function ($serv, $fd, $from_id, $data) {
        $serv->send($fd, "Server: ".$data);
        echo "Receive message:$data";
        //关闭连接(当然,也可以不关闭,不关闭的话会一直等待接收命令而无法退出)
        $serv->close($fd);
    });

    //监听连接关闭事件$serv->on('close', function ($serv, $fd) {
        echo "Client: Close.\n";
    });

    //启动服务器$serv->start();
ログイン後にコピー
## を書き込みます

#4. 開始 サービス

    php server.php
ログイン後にコピー
が開始されると、カーソルはここで停止し、他のユーザーの接続を待ちます。

5. 接続を確認します

コマンド netstat -an | grep port を使用して、ポートがリッスン状態かどうかを確認します

    netstat -an | grep 9501
ログイン後にコピー
( PS: サーバーの場所に注意してください (使用される IP アドレスが 127.0.0.1 ループバック アドレスの場合、クライアントは接続に 127.0.0.1 のみを使用できます)


6. テストTCP サーバー

新しいウィンドウを開き、Telnet を使用してサーバーに接続します

    telnet 127.0.0.1 9501
ログイン後にコピー
このとき、サービスを開始するマシンを観察すると、データが返されていることがわかります。

    php server.php
    > Client:Connect.
ログイン後にコピー
クライアントに戻ったら、help world に入り、書き込みと読み取りが正常に完了したことを確認します。

    root@iZ28evegw6zZ:~# telnet 127.0.0.1 9501
    Trying 127.0.0.1...
    Connected to 127.0.0.1.
    Escape character is '^]'.
    hellp world      //此处是输入的命令
    Server:hellp world    //recv()读取命令成功
    Connection closed by foreign host.   //退出成功
    返回到服务器端观察
    root@iZ28evegw6zZ:/var/www/html# php server.php
    Client: Connect.   //连接成功消息
    Receive message: hellp world   //接收到数据
    Client:Close.   //客户端退出成功
ログイン後にコピー

以上がSwooleの学習ノートを記録するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:csdn.net
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート