Maison  >  Article  >  cadre php  >  Enregistrer les notes d'étude de Swoole

Enregistrer les notes d'étude de Swoole

coldplay.xixi
coldplay.xixiavant
2021-01-22 10:07:252153parcourir

Enregistrer les notes d'étude de Swoole

Recommandé (gratuit) : swoole

Installer

Il existe actuellement deux méthodes officiellement recommandées

1). Utilisez pecl pour installer

pecl install swoole

2). Utilisez le code source pour l'installer. est recommandé de télécharger la version release de swoole, il est préférable de ne pas extraire le code et de le compiler à partir du tronc github, mais de télécharger directement le package tar.

adresse de téléchargement du package swoole

Puis compilez et installez

    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. Changez l'extension php.ini

Modifiez le fichier de configuration php.ini, utilisez la commande php -i |grep php.ini pour afficher l'emplacement php.ini
Ajouter une configuration

    extension=swoole.so

Utilisez php -m ou phpinfo() pour vérifier si swoole est chargé avec succès

3. Serveur TCP Chestnut, poignée de main à trois

Compréhension simple de Socket

Écrire serveur.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. Démarrer Une fois le service

    php server.php

démarré, le curseur s'arrêtera ici, en attendant que d'autres utilisateurs se connectent.

5. Vérifiez la connexion

Utilisez la commande netstat -an | grep port pour vérifier si le port est en état d'écoute

    netstat -an | grep 9501

(PS : Faites attention à l'emplacement du serveur L'adresse IP utilisée, s'il s'agit de l'adresse de bouclage 127.0.0.1, le client ne peut utiliser que 127.0.0.1 pour se connecter)

6.

Ouvrez une nouvelle fenêtre et utilisez telnet pour vous connecter au serveur

    telnet 127.0.0.1 9501

À ce moment, observez la machine qui démarre le service et vous constaterez qu'il y a des données renvoyées

    php server.php
    > Client:Connect.

Lorsque vous revenez au client, entrez dans le monde hellp et constatez que l'écrit et lu avec succès

    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.   //客户端退出成功

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer