swoole udp

server.php

<?php
$server = new swoole_server(‘127.0.0.1‘, 9502, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);
$server->set(array("worker_num"=>4, "dispatch_mode"=>2));
$server->on("connect", function($cli) {
    $ser->send("hello");
});
$server->on("receive", function($ser, $fd, $from_id, $data) {
    $info = $ser->connection_info($fd, $from_id);
    var_dump($info);
    $ser->send($fd, "hello", $from_id);
});
$server->start();

client.php

<?php
$client = new swoole_client(SWOOLE_SOCK_UDP);
$client ->connect("127.0.0.1", 9502, 0.5);
$client->send("dddddddddd444444444d");
$data=$client->recv();
echo $data;

查看通信过程

[[email protected] ~]# tcpdump -i any udp port 9502
tcpdump: WARNING: Promiscuous mode not supported on the "any" device
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on any, link-type LINUX_SLL (Linux cooked), capture size 96 bytes
08:30:18.545684 IP localhost.localdomain.38978 > localhost.localdomain.9502: UDP, length 20
08:30:18.549676 IP localhost.localdomain.9502 > localhost.localdomain.38978: UDP, length 5
时间: 2024-10-09 12:03:15

swoole udp的相关文章

被swoole坑哭的PHP程序员

本文主要记录一下学习swoole的过程.填过的坑以及swoole究竟有多么强大! 首先说一下对swoole的理解:披着PHP外衣的C程序.很多PHPer朋友看到swoole提供的强大功能.外界对其的崇拜便跃跃欲试的安装.调试其demo.编写新功能,然后兴奋的奔走相告.没过几天当你按照自己的理解继续用swoole时,发现代码并没有按照自己的预期运行,然后开始破口大骂,什么破东西呀,代码跟demo基本一样,为啥运行不通呢?什么狗屁work.task.共享内存.ipcs.异步,各种问题涌现,然后迅速去

Swoole源代码学习记录(十三)——Server模块具体解释(上)

Swoole版本号:1.7.5-stable Github地址:https://github.com/LinkedDestiny/swoole-src-analysis 最终能够正式进入Server.c模块了-- 在之前的分析中,能够看到非常多相关模块的声明都已经写在了Server.h中,就是由于这些模块构成了Server的核心部分.而Server本身,则是一个最上层的对象,它包含了核心的Reactor和Factory模块,存放了消息队列的key值,控制着所有的Connection.所有PHP层

Swoole

Swoole Laravel如何优雅的使用Swoole 背景 正在做一个智能家居的项目(钱低的吓死人怎么办),接收下位机(就是控制智能家居硬件模块的HUB)协议解析,Web端维护硬件状态,利用APP交互.由于下位机数据是发送到服务器的XXX端口,所以必须对XXX端口进行监听.其实和聊天室的概念差不多,研究了一下workerman.swoole和其他几个开源的项目,决定采用swoole. 关于php解析下位机的16进制协议,其实相当之扯蛋,要是你最好还是用.NET或者JAVA吧.很久没碰MVC了,

Swoole源码学习记录(十四)——Server模块详解(下)

swoole版本:1.7.6-stable 上一章已经分析了如何启动swServer的相关函数.本章将继续分析swServer的相关函数, 1.swServer函数分析 swServer_addListener 该函数用于在swServer中添加一个需要监听的host及port.函数原型如下: // Server.h 438h int swServer_addListener(swServer *serv, int type, char *host,int port); 参数 说明 swServ

http://www.swoole.com/

Swoole:重新定义PHP PHP语言的高性能网络通信框架,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询.Swoole可以广泛应用于互联网.移动通信.企业软件.云计算.网络游戏.物联网.车联网.智能家居等领域. 使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品.

Swoole 初识

官方定义: Swoole:重新定义PHP PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询. Swoole内置了Http/WebSocket服务器端/客户端.Http2.0服务器端.Swoole可以广泛应用于互联网.移动通信.企业软件.云计算.网络游戏.物联网.车联网.智能家居等领域. 使用PHP+Swoo

Node.js的颠覆者:PHP的Swoole扩展

最近2年Node.js很火,异步与协程是网络开发方面热门的话题.在追求新技术的同时,也应该反思下这里面存在的陷阱.Node.js确实是一门有趣好玩有个性的语言和技术,动态性,全异步回调的方式,闭包等等特性.值得所有程序员尝试一下. 但本文将介绍的是一门另外的容易被大家轻视的编程语言:PHP.长期以来PHP都是作为一门为Web开发而生的前端脚本语言.PHP极其的简单,你可以在一周只能掌握它,一月内开发出一个功能丰富的网站.发展至今PHP其实已经完全不再是一门简单的语言了,PHP的功能保罗万象,常用

学习swoole的心得

原文地址:学习swoole的心得 什么是swooleswoole是PHP的异步.并行.高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,异步Redis,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询. Swoole内置了Http/WebSocket服务器端/客户端.Http2.0服务器端.Swoole可以广泛应用于互联网.移动通信.企业软件.云计算.网络游戏.物联网(IOT).车联网.智能

推荐个好东西swoole,php如虎添翼

Swoole:PHP语言的异步.并行.高性能网络通信框架,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端,异步MySQL,数据库连接池,AsyncTask,消息队列,毫秒定时器,异步文件读写,异步DNS查询. 官网称,swoole重新定义php.有点让人难以理解,其实容易用c扩展本身就是php本身的一大特点.官网这么说,可能是让人们以一种新的思维方式去看php,去用php.swoole,可以给你摆脱写web一条线走到底的一个机会,而且用c扩展,性能优秀.php