如何在lnmp环境下安装pecl_redis扩展并解决编译错误?
cc -I. -I/tmp/redis-6.1.0 -I/tmp/redis-6.1.0/include -I/tmp/redis-6.1.0/main -I/tmp/redis-6.1.0 -I/usr/local/php-generic-8.2/include/php -I/usr/local/php-generic-8.2/include/php/main -I/usr/local/php-generic-8.2/include/php/TSRM -I/usr/local/php-generic-8.2/include/php/Zend -I/usr/local/php-gener...
802 阅读
swoole支持固定包头+包体和以EOF为结尾的两种分包。
具体代码实现可以参考ti-rpc,这个代码片段。
https://wiki.swoole.com/wiki/...
以EOF分包,有两种情况,一种是以末尾的EOF进行分包,一种是以数据中出现的EOF进行分包,后者效率比较低。
然后就是包头定长+包体这种了。
首先要知道网络字节序,以及本地字节序,说白了就是多字节在传输中的先后顺序
https://www.v2ex.com/t/330173
大端 :数据的高字节放在内存的低地址上,小端反之。
php中常用的函数就是pack()和unpack()两个函数。
上边代码就是先获取数据长度,然后用4字节的整型格式写入二进制字符串中。
最后解包,然后根据长度截取数据。
在swoole中也有相关的配置,如一楼给你的链接