Ich benutze rachetphp, um einen Client für einen API-Server zu erstellen. Aber ich habe ein Problem, wenn meine Verbindung schließen, was auch immer der Grund ist, kann ich nicht automatisch wieder verbinden.Wie man einen Klienten automatisch auf ratchetphp wieder schließt?
hier die lib i verwenden: https://github.com/ratchetphp/Pawl
<?php
require __DIR__ . '/vendor/autoload.php';
$loop = React\EventLoop\Factory::create();
$connector = new Ratchet\Client\Connector($loop);
$connector('ws://127.0.0.1:9000', ['protocol1', 'subprotocol2'], ['Origin' => 'http://localhost'])
->then(function(Ratchet\Client\WebSocket $conn) {
$conn->on('message', function(\Ratchet\RFC6455\Messaging\MessageInterface $msg) use ($conn) {
echo "Received: {$msg}\n";
$conn->close();
});
$conn->on('close', function($code = null, $reason = null) {
echo "Connection closed ({$code} - {$reason})\n";
});
$conn->send('Hello World!');
}, function(\Exception $e) use ($loop) {
echo "Could not connect: {$e->getMessage()}\n";
$loop->stop();
});
$loop->run();
ich nach einer Verbindung schließt alle Sekunden ein Reconnect versuchen möchte. Irgendwelche Ideen?
Very nice! damit kann ich nach einem 'error' too oder einem 'close' event wieder verbinden. – LordSoldier