udp_server.php

  1. <?php
  2. // 创建Server对象,监听 127.0.0.1:9502端口,类型为SWOOLE_SOCK_UDP
  3. $serv = new swoole_server('127.0.0.1', 9502, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);
  4.  
  5. // 监听数据接收事件
  6. $serv->on('Packet', function ($serv, $data, $clientInfo) {
  7. $serv->sendto($clientInfo['address'], $clientInfo['port'], 'Server ' . $data);
  8. var_dump($clientInfo);
  9. });
  10.  
  11. // 启动服务器
  12. $serv->start();

  UDP服务器没有连接的概念,启动后客户端无需connect,直接可以向server监听的端口发送数据包。$clientInfo是客户端的相关信息

  1.启动服务

  1. $ /usr/local/php/bin/php udp_server.php

  2.启动成功后,查看服务进程状态

  1. $ ps aux | grep udp_server
  2. oosten 0.0 2.2 pts/ Sl+ : : /usr/local/php/bin/php udp_server.php
  3. oosten 0.0 0.4 pts/ S+ : : /usr/local/php/bin/php udp_server.php
  4. oosten 0.0 0.7 pts/ S+ : : /usr/local/php/bin/php udp_server.php

  3.nc连接服务器

  1. $ nc -u 127.0.0.1 9502 ###-u,使用udp传输协议
  2. hello
  3. Server hello

  4.客户端发送数据包后,服务端打印$clientInfo数据

  1. array() {
  2. ["server_socket"]=>
  3. int()
  4. ["server_port"]=>
  5. int()
  6. ["address"]=>
  7. string() "127.0.0.1"
  8. ["port"]=>
  9. int()
  10. }

  5.结束进程

  1. kill

参考:https://wiki.swoole.com/wiki

swoole 创建UDP服务器的更多相关文章

  1. node.js中通过dgram数据报模块创建UDP服务器和客户端

    node.js中 dgram 模块提供了udp数据包的socket实现,可以方便的创建udp服务器和客户端. 一.创建UDP服务器和客户端 服务端: const dgram = require('dg ...

  2. Swoole学习(三)Swoole之UDP服务器的创建

    环境:Centos6.4,PHP环境:PHP7 <?php //创建UCP服务器(UDP服务器相对于TCP服务器通信更可靠些) /** * $host 是swoole需要监听的ip,如果要监听本 ...

  3. swoole 创建tcp服务器

    server.php <?php /** * 创建tcp服务器 * Date: 2019/1/15 */ $serv = new swoole_server('127.0.0.1', 9501) ...

  4. swoole创建websocket服务器

    目录 1 安装准备 1.1 安装swoole前必须保证系统已经安装了下列软件 1.2 下载并解压 1.3 编译安装成功后,修改php.ini 2 构建Swoole基本实例 2.1 tcp服务器实例 2 ...

  5. swoole 创建web服务器

    http_server.php $http = new swoole_http_server("0.0.0.0", 9501); // 请求监听事件 $http->on('r ...

  6. Swoole 创建服务

    1: 创建TCP 服务器 $serv = new swoole_server(‘127.0.0.1’,9501); 2:创建UDP服务器 $serv =  new swoole_server('127 ...

  7. 【Swoole】简单安装与创建TCP服务器

    pecl install swoole PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了php语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据 ...

  8. Swoole学习(二)Swoole之TCP服务器的创建

    环境:Centos6.4,PHP环境:PHP7 <?php //创建TCP服务器 /** * $host 是swoole需要监听的ip,如果要监听本地,不对外服务,那么就是127.0.0.1;如 ...

  9. socket | tcp客户端 tcp服务器 udp客户端 udp 服务器 创建方法

    tcp服务器 #coding=utf-8 ''' 这里是tcp服务器端,要先启动 ''' import socket import threading bind_ip = "0.0.0.0& ...

随机推荐

  1. acl权限使用

    1.acl的设置技巧 *setfacl 用法: setfactl [-bkRd] [{-m|-x} acl参数] 目标文件名 -m:设置后续的acl参数给文件使用,不可与-x合用 -x:删除后续的ac ...

  2. apk包不能生成的原因之debug.keystore

    在Eclipse里面编译生成的APK中有一个签名的,它默认的key是debug.keystore,它默认的路径是: C:\Users\<用户名>\.android\debug.keysto ...

  3. Ubuntu18.04安装thunderbird并设置中文

    Ubuntu18.04安装thunderbird并设置中文 安装thunderbird sudo apt-get install thunderbird 安装中文包 sudo apt-get inst ...

  4. RHCE 入门 第一篇

    随着工作压力越来越大,我们越需要技术储备. 从2017年10月14日开始参加RHCE培训

  5. HTML基础笔记

    html基础 (1)什么是html?超文本标记语言 用于开发网页的语言,由浏览器解释执行 (2)html文件的基本结构 <html> <head> <title>& ...

  6. JavaScript Ajax 实现学习

    创建异步对象: function createXmlHttp(){ var xhobj=false; try{ xhobj=new ActiveXObject("Msxml2.XMLHTTP ...

  7. <? extends A> 和 <? super A> 的意思

    /** * @author Lee Boynton * @author Arthur van Hoff * @author Martin Buchholz * @author Ulf Zibis * ...

  8. 【微信小程序】采坑之scroll-view组件

    一.摘要 今天在使用scroll-view组件的时候发现结果跟预想的不一样.其实也不是第一次用了,同样的写法却出现了意料之外的效果,所以认定是bug了.博主使用的是2.3.0版本,所以之前的版本应该也 ...

  9. httpclient文件下载

    http://blog.csdn.net/nupt123456789/article/details/42721003

  10. vmstat命令——监控给定时间间隔的服务器的状态值

    vmstat n m 时间间隔为n秒,采集m组数据vmstat n     时间间隔为n秒 # vmstat 2 3 procs -----------memory---------- ---swap ...