Я пытаюсь общаться через веб-сокеты по протоколу WAMP 2, но похоже, что я не могу заставить библиотеку Thruway PHP работать должным образом.
Похоже, что у Thruway для PHP полностью отсутствует руководство / документация, и я серьезно собираюсь сдаться и переключиться на комбинацию nodejs / autobahn. js.
Независимо от того, как я определил его в клиенте javascript (autobahn- js) в браузере, authid всегда возвращает «анонимный».
Чтобы дать вам представление, вот код Я использую.
my javascript (браузер) выплевывает authid следующим образом:
...
var connection = new autobahn.Connection({
url: 'ws://xxx.xxx.xx.x:8080/',
realm: 'realm1',
authmethods: ["wampcra"],
authid: "Mickey",
onchallenge: onchallenge
});
...
мой маршрутизатор определен так (весь код)
<?php
require 'bootstrap.php';
require 'InternalClient.php';
use Thruway\Peer\Router;
use Thruway\Transport\RatchetTransportProvider;
$realm = "realm1";
$router = new Router();
$InternalClient = new InternalClient($realm, $router->getLoop());
$transportProvider = new RatchetTransportProvider("0.0.0.0", 8080);
$router->registerModule($transportProvider);
$router->addInternalClient($InternalClient);
$router->start();
?>
Идет класс InternalClient вот так:
<? php</p>
class InternalClient extends Thruway\Peer\Client
{
public function onSessionStart($session, $transport)
{
$session->subscribe('wamp.metaevent.session.on_join', function($args){
echo "$args[0]->authid;
});
...
....
Вышеприведенный код должен был повторять "Микки", но вместо этого он повторяет "анонимный"!
Я мог найти вообще никакой информации в сети!
Спасибо за вашу помощь. Я буду очень признателен за это.