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)

不言
Libérer: 2023-04-04 18:46:02
avant
3206 Les gens l'ont consulté

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

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

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

3.nc connect. au serveur

$ nc -u 127.0.0.1 9502 ###-u,使用udp传输协议hello
Server hello
Copier après la connexion

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

5. Terminez le processus

 kill 22944
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:cnblogs.com
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