Maison > cadre php > Swoole > le corps du texte

Enregistrer les notes d'étude de Swoole

coldplay.xixi
Libérer: 2021-01-22 10:07:25
avant
2136 Les gens l'ont consulté

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
Copier après la connexion

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
Copier après la connexion

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
Copier après la connexion

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();
Copier après la connexion

4. Démarrer Une fois le service

    php server.php
Copier après la connexion

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
Copier après la connexion

(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
Copier après la connexion

À 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.
Copier après la connexion

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.   //客户端退出成功
Copier après la connexion

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!

Étiquettes associées:
source:csdn.net
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!