美文网首页
swoole学习细节笔记

swoole学习细节笔记

作者: 以备谈资 | 来源:发表于2018-06-28 18:16 被阅读0次

    swoole 笔记
    1,通过telnet命令去链接服务端host,模拟客户端请求e

    2,fwrite(STDOUT, 'enter data:'); fgets(STDIN); 在php-cli模式下脚本输入内容

    3,查看监听swoole server端线程数命令 ps aft | grep tcp.php(脚本名)

    4,ps 查看进程 netstat 查看端口 pstree -p pid 查看进程树

    5, swoole udp服务,测试连接方式 nc -u 127.0.0.1 9502

    6, 设置http_server获取静态资源方法,调用set方法的enable_static_handler/document_root参数

    7, websocket支持双向通信,传统http只能客户端发起请求到服务器,服务器进行响应,websocket支持服务器主动发送请求到客户端

    8, swoole_timer_tick/after是异步定时器

    9, 回调函数传参使用function($param1) use ($param2) {} $param1是回调返回的参数,$param2是使用use传参的参数

    10, swoole异步文件读写swoole_async_readfile()

    11, php --ri swoole(扩展名) 查看扩展支持内容

    12, swoole使用异步redis需要安装hiredis 参考https://wiki.swoole.com/wiki/page/p-redis.html
    重新编译编译swoole,在configure指令中加入--enable-async-redis,开启支持异步redis,重编译时使用make -j

    13,static关键字可以用来修饰变量、方法。不经过实例化,就可以直接访问类中static的属性和static的方法。
    eg:Task::method(),如类中方法无static则不能使用,报致命错误
    see https://blog.csdn.net/Yeoman92/article/details/52766333

    14,不同业务逻辑调用同一个websocket端口连接,不加以区分会把结果混淆在一起,使用swoole_server::$connections会拿到混淆在一起的客户端连接数据

    15,php后台执行nohup命令
    nohup php绝对路径 执行文件目录 >(有内容输出到某个位置) 输出位置 &

    16,shell_exec函数php执行shell命令

    17,平滑重启 使用shell USR1命令
    USR1信号将导致以下步骤的发生:停止接受新的连接,等待当前连接停止,重新载入配置文件,重新打开日志文件,重启服务器,从而实现相对平滑的不关机的更改。

    利用swoole搭建web服务器,假如不是80端口,通过浏览器域名,ip访问是到达不了服务器的,需要使用nginx代理,将请求发送到对应的端口
    参考:http://coolnull.com/4275.html

    浏览器->服务器->web服务器(执行到这里才打通网页连接)->websocket服务器

    hosts无法做服务器ip的端口监听,正常指向到服务器,通过服务器做端口分发

    项目地址:https://github.com/pashion/swoole

    相关文章

      网友评论

          本文标题:swoole学习细节笔记

          本文链接:https://www.haomeiwen.com/subject/rmdnyftx.html