swooleでUDPサーバーを作成する方法(コード例)

不言
リリース: 2023-04-04 18:46:02
転載
3176 人が閲覧しました

この記事の内容は swoole で UDP サーバーを作成する方法(コード例)に関するもので、一定の参考価値がありますので、困っている方は参考にしていただければ幸いです。あなたに、助けてください。

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();
ログイン後にコピー

UDP サーバーには接続の概念がありません。起動後、クライアントは接続する必要がなく、サーバーによって監視されているポートにデータ パケットを直接送信できます。サーバ。 $clientInfo はクライアント関連の情報です。

1. サービスを開始します

$ /usr/local/php/bin/php udp_server.php
ログイン後にコピー

2. 正常に起動したら、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 を確認してサーバーに接続します

$ nc -u 127.0.0.1 9502 ###-u,使用udp传输协议hello
Server hello
ログイン後にコピー

4. クライアントがデータ パケットを送信した後、サーバーは $clientInfo データを出力します

array(4) {
  ["server_socket"]=>
  int(3)
  ["server_port"]=>
  int(9502)
  ["address"]=>
  string(9) "127.0.0.1"
  ["port"]=>
  int(40635)
}
ログイン後にコピー

5. プロセスを終了します

 kill 22944
ログイン後にコピー

以上がswooleでUDPサーバーを作成する方法(コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート