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!