入门指引 Server Client Process AsyncIO Memory HttpServer WebSocket 高级 其他

发布于 2015-08-09 09:51:12 | 112 次阅读 | 评论: 0 | 来源: 网络整理

打开EOF检测,此选项将检测客户端连接发来的数据,当数据包结尾是指定的字符串时才会投递给Worker进程。否则会一直拼接数据包,直到超过缓存区或者超时才会中止。当出错时swoole底层会认为是恶意连接,丢弃数据并强制关闭连接。

array(
'open_eof_check' => true, //打开EOF检测
'package_eof' => "rn", //设置EOF
)

常见的Memcache/SMTP/POP等协议都是以rn结束的,就可以使用此配置。开启后可以保证Worker进程一次性总是收到一个或者多个完整的数据包。

EOF检测不会从数据中间查找eof字符串,所以Worker进程可能会同时收到多个数据包,需要在应用层代码中自行explode("rn", $data) 来拆分数据包
1.7.15版本增加了open_eof_split,支持从数据中查找EOF,并切分数据

最新网友评论  共有(0)条评论 发布评论 返回顶部

Copyright © 2007-2017 PHPERZ.COM All Rights Reserved   冀ICP备14009818号  版权声明  广告服务