终结篇
哈哈,我就说这一系列是完整的吧。
我们并没有用swoole框架重构系统代码,只是当成一个长连接扩展库来使用的。
swoole很强大,我们只是用了swoole很小很小的一部分。如果用swoole做更多精细化的处理,很麻烦。
毕竟我这种面向工资编程的开发者得服从leader的安排(尽快上线)。
如果有同学在使用过程中出现问题了欢迎留言讨论。
我踩过的坑
swoole_client只能在cli模式下运行,不要指望在浏览器里调用。
最早想要搭建一个TCP连接,然后用浏览器也访问这个server,虽然无法在页面输出,但是在swoole的onReceive回调里依然是可以接收到值的,想利用这个特性做浏览器访问。如果你也有这个思路,可以停止了。
swoole_client是没有办法连接websocket服务端的,必须使用swoole_http_client,设置项增加’websocket_mask’ => true
开发过程中临时补了一些TCP/IP协议的东西,望着这些东西,想起上学时浪费时间打的LOL,留下了悔恨的眼泪。
使用本教程里的案例 php swoole.php start启动时,请一定要确保在onWorkerStart回调了加载TP框架东西的时候,确保要在指定的模块里含有StartController并且里面有index方法,不然你就会看到惊喜的一幕。TP框架抛出错误exit,swoole重新拉起worker进程,TP框架抛出错误exit,swoole重新拉起worker进程,这种死循环简直过瘾。log里记录的错误信息是[zm_deactivate_swoole: worker process is terminated by exit()/die().]
当在线上部署时,将swoole设置为守护进程运行,此时记得把所有路径定义的部分 比如require(TP框架)的部分都换成绝对路径
dirname(__DIR__)
这种的。。