由於GatewayWorker\BusinessWorker
、GatewayWorker\Gateway
中沒有公開變數可以設定的內部的$connectio->maxPackageSize
而GatewayWorker\BusinessWorker
、GatewayWorker\Gateway
的$connectio
使用的是Workerman\Connection\AsyncTcpConnection
導致$connectio->maxPackageSize
永遠是初始值
是否應該對GatewayWorker\BusinessWorker
、GatewayWorker\Gateway
添加maxPackageSize
之公開變數
或是對Workerman\Connection\AsyncTcpConnection
的__construct
添加
$this->maxPackageSize = self::$defaultMaxPackageSize;
以避免BusinessWorker、Gateway、Register間無法傳遞大型封包
已经修复,请更新到 5.3.28版本。
@walkor
老大,除最新代码更新之外,一方面对于gateway还可通过onConnect回调设置$connection->maxPackageSize达到题主部分目的,但是对于businessworker无法直接且也不应该操作框架内部的AsyncTcpConnection,所以单独再给businessworker新增一个公共属性如 $maxPackageSizeOfBusinessToGateway【针对businessworker->gateway的所有socket连接的全局接收缓冲区】作为补充是不是更好呢?
嗯,是会好一些。