Я пытаюсь использовать Ratchet с laravel, но когда я делаю var_dump в $ conn-> WebSocket в onOpen или onMessage, он всегда возвращает меня
object(stdClass)#670 (1) { ["closing"]=> bool(false) }
это код, который я использую
namespace App\Http\Controllers;
use Ratchet\MessageComponentInterface;
use Ratchet\ConnectionInterface;
use App;
use Auth;
use Config;
use Crypt;
use App\User;
use Illuminate\Session\SessionManager;
class WebSocketController extends Controller implements MessageComponentInterface{
function onOpen(ConnectionInterface $conn){
$session = (new SessionManager(App::getInstance()))->driver();
var_dump($conn->WebSocket);
}
function onClose(ConnectionInterface $conn){
}
function onError(ConnectionInterface $conn, \Exception $e){
$conn->close();
}
function onMessage(ConnectionInterface $conn, $msg){
var_dump($conn->WebSocket);
}
}






Я предлагаю вам простую библиотеку под названием Woketo для веб-сокета на php
composer require "nekland/woketo"
Самый простой пример запуска сервера websocket
use Your\Namespace\YourMessageHandler;
use Nekland\Woketo\Server\WebSocketServer;
$server = new WebSocketServer(1337);
$server->setMessageHandler(new YourMessageHandler(), '/path'); // accessible on ws://127.0.0.1:1337/path
$server->start();
<?php
// YourMessageHandler.php
namespace Your\Namespace;
use Nekland\Woketo\Core\AbstractConnection;
use Nekland\Woketo\Message\TextMessageHandler;
class YourMessageHandler extends TextMessageHandler
{
public function onConnection(AbstractConnection $connection)
{
// Doing something when the client is connected ?
// This method is totally optional.
}
public function onMessage(string $data, AbstractConnection $connection)
{
// Print the message received from the connection
var_dump($data);
// Sending back the received data
$connection->write($data);
}
}
Не стесняйтесь спрашивать, есть ли у вас проблемы во время настройки
Вы нашли время, чтобы обдумать мой ответ?