Maison >développement back-end >tutoriel php >Comment créer un serveur UDP avec swoole (exemple de code)

Comment créer un serveur UDP avec swoole (exemple de code)

不言
不言avant
2019-01-15 11:31:013260parcourir

Le contenu de cet article concerne la méthode (exemple de code) de swoole pour créer un serveur UDP. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer. à vous.

udp_server.php

<?php
// 创建Server对象,监听 127.0.0.1:9502端口,类型为SWOOLE_SOCK_UDP
$serv = new swoole_server(&#39;127.0.0.1&#39;, 9502, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);

// 监听数据接收事件
$serv->on(&#39;Packet&#39;, function ($serv, $data, $clientInfo) {
    $serv->sendto($clientInfo[&#39;address&#39;], $clientInfo[&#39;port&#39;], &#39;Server &#39; . $data);
    var_dump($clientInfo);
});

// 启动服务器
$serv->start();

Le serveur UDP n'a aucune notion de connexion Après le démarrage, le client n'a pas besoin de se connecter et peut directement envoyer des paquets de données au port que le. le serveur écoute. $clientInfo est les informations pertinentes du client

1. Démarrez le service

$ /usr/local/php/bin/php udp_server.php

2 Après un démarrage réussi, vérifiez netstat

$ ps aux | grep php    
oosten   22944  0.0  2.2 314416 23220 pts/4    Sl+  10:49   0:00 /usr/local/php/bin/php udp_server.php
oosten   22945  0.0  0.4 240032  4084 pts/4    S+   10:49   0:00 /usr/local/php/bin/php udp_server.php
oosten   22947  0.0  0.7 244732  7148 pts/4    S+   10:49   0:00 /usr/local/php/bin/php udp_server.php

3.nc connect. au serveur

$ nc -u 127.0.0.1 9502 ###-u,使用udp传输协议hello
Server hello

4. Une fois que le client a envoyé le paquet de données, le serveur imprime les données $clientInfo

array(4) {
  ["server_socket"]=>
  int(3)
  ["server_port"]=>
  int(9502)
  ["address"]=>
  string(9) "127.0.0.1"
  ["port"]=>
  int(40635)
}

5. Terminez le processus

 kill 22944

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