访问 Ratchet Web 套接字请求中的额外参数

问题描述 投票:0回答:4

我已经为 PHP 中的 websockets 设置了 Ratchet 。它使用 (ws://localhost:8080) 从我的 javascript 客户端连接正常,并成功发送/接收消息。但我想传递一些参数,例如 (ws://localhost:8080?param1=value)。我无法弄清楚如何在 PHP 脚本中访问 param1

如果可能的话,在 MessageComponentInterface::onOpen(ConnectionInterface $conn) 方法中。

或者更好:我可以将这些参数与 ConnectionInterface $conn.以便我与他们进行进一步的沟通。

我已经关注了http://socketo.me/docs/hello-world

php websocket ratchet
4个回答
16
投票

最近的更新开始,您现在可以像这样访问它:

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

其实我自己也遇到过这个问题。测试了一下,效果很好。


7
投票

在 symfony 4 中,php > 7.1

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

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


4
投票
$conn->WebSocket->request 

替换为

$conn->httpRequest 

这是一个 PSR-7 物体

https://github.com/ratchetphp/Ratchet/blob/master/CHANGELOG.md


0
投票

有谁知道如何在没有棘轮的情况下做到这一点?请使用 JavaScript!

© www.soinside.com 2019 - 2024. All rights reserved.