swooleQue dois-je faire si le client ne parvient pas à se connecter ?
Introduction à 4 façons pour les clients de se connecter aux serveurs
Quatre façons pour les clients de se connecter : Connexion au navigateur
server.php: <?php //创建Server对象,监听 10.211.55.15:9501端口 $serv = new swoole_server("10.211.55.15", 9501); // 10.211.55.15 是我们Swoole服务器地址 //监听数据接收事件 $serv->on('receive', function ($serv, $fd, $from_id, $data) { echo $data; //打印 接收到的数据 $serv->send($fd, "I am swoole"); //发送字符串给客户端 $serv->close($fd); // 注意:官方并不建议在这里关闭掉 }); //启动服务器 $serv->start();
Regardez attentivement ci-dessus Code, après avoir créé le service, nous avons écouté l'événement de réception de données, imprimé les données reçues, puis généré une chaîne I am swoole.
Exécutez server.php de la même manière, la ligne de commande du terminal sera en "état d'attente" :
php server.php
Ensuite, nous utilisons Firefox comme client et demandons au serveur Swoole : http:/ /10.211.55.15 :9501/
À ce moment, le terminal (serveur) affichera quelque chose de similaire à ce qui suit :
GET /favicon.ico HTTP/1.1 Host: 10.211.55.15:9501 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:57.0) Gecko/20100101 Firefox/57.0 Accept: */* Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Connection: keep-alive
C'est exactement le contenu du protocole HTTP.
Pourquoi est-il accessible via un navigateur ?
Le navigateur peut être compris comme un client socket, complétant le processus de transmission grâce à l'interaction avec le protocole HTTP.
Le protocole HTTP (couche application) est basé sur le protocole TCP (couche transport). Lorsque le navigateur envoie une requête, il enverra une "chaîne" conformément aux dispositions du protocole HTTP. terminé, le port sera connecté.
Ci-dessus, nous avons accédé au serveur Swoole via un navigateur. Certains navigateurs peuvent ne pas fonctionner car nous avons simplement généré une chaîne et n'avons pas suivi le protocole HTTP.
Quatre méthodes de connexion client : telnet
Tout d'abord, nous devons légèrement modifier notre code serveur (server.php) et commenter la ligne suivante :
$serv->close($fd); // 注意:官方并不建议在这里关闭掉
If not Pour installer telnet, utilisez la commande suivante pour installer :
yum install telnet -y
Comment fonctionner :
telnet 10.211.55.15 9501 #连接后,敲击键盘`ctrl+]`键,就可以发送消息了, #比如我们输入 hello #会紧接着一行显示 I am swoole
Quatre méthodes de connexion client : Écrivez votre propre socket
Tout d'abord, créez assurez-vous que l'extension de socket est installée.
Utiliser le code php natif pour écrire un client client.php :
$socket = socket_create(AF_INET,SOCK_STREAM,SOL_TCP); socket_connect($socket,"10.211.55.15", 9501); socket_write($socket,"hello swoole"); // 读 $out = socket_read($socket,1024); echo $out; socket_close($socket);
Quatre méthodes de connexion client : Client officiel Swoole
https://wiki .swoole.com/wiki /page/p-client.html
<?php $client = new swoole_client(SWOOLE_SOCK_TCP); if (!$client->connect("10.211.55.15", 9501, -1)) { exit("connect failed. Error: {$client->errCode}\n"); } $client->send("hello world\n"); echo $client->recv(); //打印 接收到的数据 $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!