服务器经常报Error package. package_length错误

diryygon

我打算写一个机器人服务,我使用AsyncTcpConnection与服务器建立了30个ws连接,服务器经常报Error package. package_length=577267041之类的错误,当我试着调大maxPackageSize值时,websocket服务经常卡死,如果使用AsyncTcpConnection只建立5-10个左右的ws连接就不会报这个错,寻找了几天了始终没有找到哪出了问题,机器人服务我是与workerman服务一起启动的,AsyncTcpConnection连接使用的是ws://127.0.0.1加端口,无论是本地调试还是放在服务器上都存在同样的问题,内核也按官方说明优化过了,求教大神到底是哪里出问题了!

1301 2 0
2个回答

walkor

Error package. package_length 是发的数据不符合协议导致的。你看下发送数据调用send()时是不是用了第二个参数,不要传第二个参数

  • 暂无评论
walkor

运行 php -i | grep func_overload 贴下结果。
如果 mbstring.func_overload 的值不是0,则也有可能导致包错误问题,在php.ini中将其设置为0就好了

  • 暂无评论
年代过于久远,无法发表回答
🔝