workerman-chat 如何限制接收消息的长度

zgc_306

workerman-chat 如何限制接收消息的长度?
发现在客户端可以恶意传入超大字符串,造成服务器严重卡顿

1803 3 0
3个回答

zgc_306

用 TcpConnection::$MaxPackageSize = 1000;
进行限制,发现也并没有起作用。

  • 暂无评论
walkor

start_gateway.php 里

$gateway->onConnect = function ($connection) {
    $connection->maxPackageSize = 1000;
};
  • zgc_306 2020-12-10

    感谢您的解答。但这个设置貌似有点问题,我发现如果设置长度稍微短一点的话,刷新页面会不断疯狂自动重连(因为登陆是的消息长度超过了,用户名过长),这里是不是应该有点延迟?比如3秒重连一次什么的。这样不断自动重连的话也会对服务器造成压力吧?

zgc_306

感谢您的解答。但这个设置貌似有点问题,我发现如果设置长度稍微短一点的话,刷新页面会不断疯狂自动重连(因为登陆是的消息长度超过了,用户名过长),这里是不是应该有点延迟?比如3秒重连一次什么的。这样不断自动重连的话也会对服务器造成压力吧?

  • walkor 2020-12-10

    自己改下,改成定时重连就好了

  • walkor 2020-12-10

    还有发送消息的时候用js判断下长度,超过你设定的值就不发送,避免断开连接。

  • zgc_306 2020-12-10

    @1:定时重连在哪连?找了半天没找到

  • walkor 2020-12-10

    js找 new Websocket

年代过于久远,无法发表回答
🔝