hyperf / hyperf

🚀 A coroutine framework that focuses on hyperspeed and flexibility. Building microservice or middleware with ease.
https://www.hyperf.io
MIT License
6.22k stars 1.21k forks source link

[BUG] swow驱动下,hyperf不支持在websocket server中处理http请求 #6133

Closed almostless closed 1 year ago

almostless commented 1 year ago

按照官方的操作文档,只启动ws服务,swoole可以正确处理ws和http请求。 但是swow驱动下,会抛出异常:Hyperf\WebSocketServer\Exception\WebSocketHandeShakeException: sec-websocket-key is invalid! in /vendor/hyperf/websocket-server/src/Server.php:131

如果注释掉这个key检查,会继续抛出下一个异常:Hyperf\HttpMessage\Exception\BadRequestHttpException: Unsupported Upgrade Type in /vendor/hyperf/engine-swow/src/WebSocket/WebSocket.php:78

hyperf框架版本:3.0 php版本:8.1

limingxinleo commented 1 year ago

建议弄两个端口,本来 http 和 ws 混合使用一个端口,就不是一个推荐的方式