RatchetPHP没有用于新连接的WebSocket属性
问题描述:
我试图访问使用棘轮的Websocket服务器的onOpen
函数中的传入连接的查询参数。无论是official documentation等StackOverflow帖子说,你可以通过访问传递给函数的ConnectionInterface
对象的WebSocket
属性做到这一点:RatchetPHP没有用于新连接的WebSocket属性
public function onOpen(ConnectionInterface $conn) {
$query = $conn->WebSocket->request->getQuery();
}
然而,没有WebSocket
财产传入的连接对象。当我开始这个服务器与客户端连接,一个通知发出,这将导致致命的错误调用null
对象上的功能:
PHP公告:未定义的属性:棘轮\服务器\ IoConnection :: $的WebSocket
我使用PHP 7.0,我需要在我composer.json
最新的稳定版本:
"require": {
"cboden/ratchet": "^0.3.6"
}
我连接客户端的浏览器JS控制台代码直接复制来回米Hello World文档以及:
var conn = new WebSocket('ws://localhost:8080?foo=bar');
conn.onopen = function(e) {
console.log("Connection established!");
};
如果它是有帮助的,只有公共属性我看到$conn
是:
bufferSize
stream
readable
writable
closing
loop
buffer
listenerse
decor
答
我有同样的问题,我发现:
$querystring = $conn->httpRequest->getUri()->getQuery();
parse_str($querystring,$queryarray);
允许您访问查询参数。
嗯...我不知道该文档在哪里,你能提供链接吗?通常你必须声明和“使用”特定的命名空间,然后调用该类。你还记得它是哪一类吗? – Anthony