swoole学习笔记
文章平均质量分 50
Swoole是PHP的异步、并行、高性能网络通信引擎,使用纯C语言编写,提供了PHP语言的异步多线程服务器,异步TCP/UDP网络客户端等功能。
使用PHP+Swoole作为网络通信框架,可以使企业IT研发团队的效率大大提升,更加专注于开发创新产品。
loophome
这个作者很懒,什么都没留下…
展开
-
swoole学习笔记(一)简单定时器
swoole提供了类似JavaScript的setInterval/setTimeout异步高精度定时器,粒度为毫秒级。使用也非常简单。//每隔2000ms触发一次swoole_timer_tick(2000, function ($timer_id) { echo "tick-2000ms\n";});//3000ms后执行此函数swoole_timer_after(300原创 2017-02-23 11:47:52 · 3417 阅读 · 0 评论 -
swoole学习笔记(二)创建web服务器
Http服务器只需要关注请求响应即可,所以只需要监听一个onRequest事件。当有新的Http请求进入就会触发此事件。事件回调函数有2个参数,一个是$request对象,包含了请求的相关信息,如GET/POST请求的数据。另外一个是response对象,对request的响应可以通过操作response对象来完成。$response->end()方法表示输出一段HTML内容,并结束此原创 2017-02-23 12:06:07 · 1425 阅读 · 0 评论 -
问题:swoole-http服务器发送POST请求服务器端超时(100-continue问题)
在使用curl做POST的时候, 当要POST的数据大于1024字节的时候, curl并不会直接就发起POST请求, 而是会分为2步:1. 发送一个请求, 包含一个Expect:100-continue, 询问Server使用愿意接受数据2. 接收到Server返回的100-continue应答以后, 才把数据POST给Server具体的RFC相关描述: htt原创 2017-04-19 16:14:02 · 5676 阅读 · 0 评论 -
swoole学习笔记(三)创建TCP服务器
这里就创建了一个TCP服务器,监听本机9501端口。它的逻辑很简单,当客户端Socket通过网络发送一个 hello 字符串时,服务器会回复一个 Server: hello 字符串。示例代码://创建Server对象,监听 127.0.0.1:9501端口$serv = new swoole_server("127.0.0.1", 9501);//监听连接进入事件$serv->on原创 2017-02-23 17:55:03 · 1177 阅读 · 0 评论 -
swoole学习笔记(四)TCP客服端
这部分,使用笔记三中的tcp server作为服务器端。向服务器端发送一个hello world字符串,服务器会返回一个 Server: hello world字符串。TCP同步客户端示例代码:$client = new swoole_client(SWOOLE_SOCK_TCP);//连接到服务器if (!$client->connect('127.0.0.1', 9501原创 2017-02-24 10:33:27 · 2941 阅读 · 0 评论 -
swoole学习笔记(五)网络通信协议设计 -- EOF结束符协议和固定包头+包体协议
上2篇笔记讲述了TCP服务器端和TCP客户端,既然他们之间要互相通讯,必须要制定一套通讯协议。swoole目前支持2种通讯协议:EOF结束符协议和固定包头+包体协议一、EOF结束符协议EOF协议处理的原理是每个数据包结尾加一串特殊字符表示包已结束。如memcache、ftp、stmp都使用\r\n作为结束符。发送数据时只需要在包末尾增加\r\n即可。使用EOF协议处理,一定要确原创 2017-02-24 17:16:32 · 3024 阅读 · 0 评论