I try to make websocket server with rachet and pawl. I read doc ratchet with ZeroMQ http://socketo.me/docs/push But can't run it with Pawl https://github.com/ratchetphp/Pawl
I create client:
<script>
var ws = new WebSocket('ws://site.ll:8008/?user=tester01');
ws.onmessage = function(evt) { console.log(evt.data); };
</script>
Create worker:
require __DIR__ . '/vendor/autoload.php';
require __DIR__ . '/Pusher.php';
$loop = React\EventLoop\Factory::create();
$pusher = new Pusher;
// Set up our WebSocket server for clients wanting real-time updates
$webSock = new React\Socket\Server('0.0.0.0:8008', $loop);
$webServer = new Ratchet\Server\IoServer(
new Ratchet\Http\HttpServer(
new Ratchet\WebSocket\WsServer(
new Ratchet\Wamp\WampServer(
$pusher
)
)
),
$webSock
);
$loop->run();
Pusher class usgin the same like in tutorial http://socketo.me/docs/push#zeromq_messages
Using post.php to send message through ws:
$localsocket = 'tcp://127.0.0.1:1235';
$user = 'tester01';
$message = 'test';
$instance = stream_socket_client($localsocket);
fwrite($instance, json_encode(['user' => $user, 'message' => $message]) . "
");
But still can't understand how to create tcp server withou ZeroMQ, like this part:
$context = new React\ZMQ\Context($loop);
$pull = $context->getSocket(ZMQ::SOCKET_PULL);
$pull->bind('tcp://127.0.0.1:1235');
$pull->on('message', array($pusher, 'onBlogEntry'));