我在用GatewayWorker传输数据时,数据包过大了,我想设置一下maxPackageSize但是不知道如何在GatewayWorker中设置maxPackageSize属性
Events.php里 onWorkerStart里设置 use Workerman\Connection\TcpConnection;
TcpConnection::$defaultMaxPackageSize = 1024000;
还是会报错,貌似不是数据包大小的问题哎,我这边做的是一个A这边通过file_get_contents读取文件然后base64_encode之后发送给B,然后B这边在base64_decode,再用file_put_contents保存文件,但貌似base64_encode之后体积会变大,然后B在接收的时候就会报错error package. package_length
error package. package_length 是消息不符合协议,无法获取数据包的长度
error package. package_length=13584282,emm是我没把报错说完整
我这边已经设置了TcpConnection::$defaultMaxPackageSize = 10241024100;
$connection->maxPackageSize=20240000;我设置试了一下还是不行,同样的代码,传输的文件只要小一点就可以,只要超过10m就不行了。
restart重启下
每次修改后都重新运行了windows.bat还是不行
Events.php里 onWorkerStart里也设置下
use Workerman\Connection\TcpConnection; TcpConnection::$defaultMaxPackageSize = 20240000;
如果还不行就在 app/functions.php 里加一句
TcpConnection::$defaultMaxPackageSize = 20240000;
哎我去,这次可以了,感谢老大
Events.php里 onWorkerStart里设置
use Workerman\Connection\TcpConnection;
TcpConnection::$defaultMaxPackageSize = 1024000;
还是会报错,貌似不是数据包大小的问题哎,我这边做的是一个A这边通过file_get_contents读取文件然后base64_encode之后发送给B,然后B这边在base64_decode,再用file_put_contents保存文件,但貌似base64_encode之后体积会变大,然后B在接收的时候就会报错error package. package_length
error package. package_length 是消息不符合协议,无法获取数据包的长度
error package. package_length=13584282,emm是我没把报错说完整
我这边已经设置了TcpConnection::$defaultMaxPackageSize = 10241024100;
$connection->maxPackageSize=20240000;我设置试了一下还是不行,同样的代码,传输的文件只要小一点就可以,只要超过10m就不行了。
restart重启下
每次修改后都重新运行了windows.bat还是不行
Events.php里 onWorkerStart里也设置下
如果还不行就在 app/functions.php 里加一句
TcpConnection::$defaultMaxPackageSize = 20240000;
哎我去,这次可以了,感谢老大