> 백엔드 개발 > PHP 튜토리얼 > Swoole을 사용하여 UDP 서버를 생성하는 방법(코드 예)

Swoole을 사용하여 UDP 서버를 생성하는 방법(코드 예)

不言
풀어 주다: 2023-04-04 18:46:02
앞으로
3227명이 탐색했습니다.

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

관련 라벨:
원천:cnblogs.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿