この記事の内容は swoole で UDP サーバーを作成する方法(コード例)に関するもので、一定の参考価値がありますので、困っている方は参考にしていただければ幸いです。あなたに、助けてください。
udp_server.php
<?php // 创建Server对象,监听 127.0.0.1:9502端口,类型为SWOOLE_SOCK_UDP $serv = new swoole_server('127.0.0.1', 9502, SWOOLE_PROCESS, SWOOLE_SOCK_UDP); // 监听数据接收事件 $serv->on('Packet', function ($serv, $data, $clientInfo) { $serv->sendto($clientInfo['address'], $clientInfo['port'], 'Server ' . $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 サイトの他の関連記事を参照してください。