이 기사의 내용은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!