websocket 访问Ratchet Web Socket请求中的额外参数

kxxlusnw  于 2023-10-20  发布在  其他
关注(0)|答案(3)|浏览(133)

我已经在PHP中为websockets设置了Ratchet。它从我的JavaScript客户端使用(ws://localhost:8080)连接良好,并成功发送/接收消息。但是我想传递一些参数,比如(ws://localhost:8080?param1=value)。我无法弄清楚如何在PHP脚本中访问param 1
如果可能的话,在MessageInterface::onOpen(ConnectionInterface $conn)方法中。
或者更好:我可以将这些参数与ConnectionInterface $conn相关联吗?以便我和他们进一步沟通。
我一直在关注http://socketo.me/docs/hello-world

axr492tv

axr492tv1#

a very recent update开始,您现在可以像这样访问它:

function onOpen( ConnectionInterface $conn ) {
   $querystring = $conn->WebSocket->request->getQuery();
}

其实我自己也遇到了这个问题。我测试过了,它工作得很好。

k5hmc34c

k5hmc34c2#

在symfony 4与php > 7.1

$conn->httpRequest->getUri()->getQuery()

这将返回所有的参数到查询中,只需要解析字符串来提取需要的参数。

ct2axkht

ct2axkht3#

$conn->WebSocket->request

替换为

$conn->httpRequest

它是PSR-7天体
https://github.com/ratchetphp/Ratchet/blob/master/CHANGELOG.md

相关问题