BusinessWorker、Gateway、Register 無法更改 maxPackageSize

UnRealSKY

由於GatewayWorker\BusinessWorkerGatewayWorker\Gateway中沒有公開變數可以設定的內部的$connectio->maxPackageSize

GatewayWorker\BusinessWorkerGatewayWorker\Gateway$connectio使用的是Workerman\Connection\AsyncTcpConnection

導致$connectio->maxPackageSize永遠是初始值

是否應該對GatewayWorker\BusinessWorkerGatewayWorker\Gateway添加maxPackageSize之公開變數

或是對Workerman\Connection\AsyncTcpConnection__construct添加

$this->maxPackageSize = self::$defaultMaxPackageSize;

以避免BusinessWorker、Gateway、Register間無法傳遞大型封包

阅读 767
2个回答

walkor

已经修复,请更新到 5.3.28版本。

  • 暂无评论
blogdaren

@walkor
老大,除最新代码更新之外,一方面对于gateway还可通过onConnect回调设置$connection->maxPackageSize达到题主部分目的,但是对于businessworker无法直接且也不应该操作框架内部的AsyncTcpConnection,所以单独再给businessworker新增一个公共属性如 $maxPackageSizeOfBusinessToGateway【针对businessworker->gateway的所有socket连接的全局接收缓冲区】作为补充是不是更好呢?