Heim > Backend-Entwicklung > PHP-Tutorial > So erstellen Sie einen UDP-Server mit swoole (Codebeispiel)

So erstellen Sie einen UDP-Server mit swoole (Codebeispiel)

不言
Freigeben: 2023-04-04 18:46:02
nach vorne
3233 Leute haben es durchsucht

Der Inhalt dieses Artikels handelt von der Methode (Codebeispiel) zum Erstellen eines UDP-Servers. Ich hoffe, dass er hilfreich ist Dir zu helfen.

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();
Nach dem Login kopieren

Der UDP-Server hat kein Verbindungskonzept. Nach dem Start muss der Client keine Verbindung herstellen und kann Datenpakete direkt an den vom Server überwachten Port senden . $clientInfo sind die relevanten Informationen des Clients

1. Starten Sie den Dienst

$ /usr/local/php/bin/php udp_server.php
Nach dem Login kopieren

2. Überprüfen Sie nach erfolgreichem Start 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
Nach dem Login kopieren

3.nc verbinden Sie sich mit dem Server

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

Nachdem der Client das Datenpaket gesendet hat, druckt der Server die $clientInfo-Daten

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

5. Beenden Sie den Vorgang

 kill 22944
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonSo erstellen Sie einen UDP-Server mit swoole (Codebeispiel). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage