Javascript RatchetPHP没有新连接的WebSocket属性
我正在尝试使用Ratchet在Websocket服务器的Javascript RatchetPHP没有新连接的WebSocket属性,javascript,php,websocket,ratchet,Javascript,Php,Websocket,Ratchet,我正在尝试使用Ratchet在Websocket服务器的onOpen函数中访问传入连接的查询参数。这些帖子和其他帖子都说,您可以通过访问传递给函数的ConnectionInterface对象的WebSocket属性来实现这一点: public function onOpen(ConnectionInterface $conn) { $query = $conn->WebSocket->request->getQuery(); } 但是,传入连接对象没有WebSocke
onOpen
函数中访问传入连接的查询参数。这些帖子和其他帖子都说,您可以通过访问传递给函数的ConnectionInterface
对象的WebSocket
属性来实现这一点:
public function onOpen(ConnectionInterface $conn) {
$query = $conn->WebSocket->request->getQuery();
}
但是,传入连接对象没有WebSocket
属性。当我启动此服务器并与客户端连接时,会发出一条通知,这导致在null
对象上调用函数时出现致命错误:
PHP注意:未定义的属性:Ratchet\Server\IoConnection::$WebSocket
我使用的是PHP7.0,我需要我的composer.json
中最新的稳定版本:
"require": {
"cboden/ratchet": "^0.3.6"
}
我在Chrome JS控制台中连接客户端,并使用直接从文档中复制的代码:
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);
允许您访问查询参数。hmm。。。我不确定文档中的位置,你能提供链接吗?通常,您必须声明并“使用”特定的命名空间,然后调用该类。你还记得是哪一节课吗?