码迷,mamicode.com
首页 > 其他好文 > 详细

swoole 创建UDP服务器

时间:2019-01-15 14:13:41      阅读:172      评论:0      收藏:0      [点我收藏+]

标签:监听   端口   发送数据   process   客户   nbsp   add   信息   bsp   

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服务器没有连接的概念,启动后客户端无需connect,直接可以向server监听的端口发送数据包。$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服务器

标签:监听   端口   发送数据   process   客户   nbsp   add   信息   bsp   

原文地址:https://www.cnblogs.com/tianxintian22/p/10270807.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!