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

时间:2014-03-31 12:45:30

标签: php websocket ratchet

我在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

3 个答案:

答案 0 :(得分:15)

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

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

我其实只是遇到了这个问题。经过测试,它完美无缺。

答案 1 :(得分:2)

$conn->WebSocket->request 

替换为

$conn->httpRequest 

这是一个PSR-7对象

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

答案 2 :(得分:0)

在symfony 4中,php> 7.1

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

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