Skip to content

Instantly share code, notes, and snippets.

@cameronjacobson
Created November 12, 2012 17:46
Show Gist options
  • Save cameronjacobson/4060804 to your computer and use it in GitHub Desktop.
Save cameronjacobson/4060804 to your computer and use it in GitHub Desktop.
reactphp/react socket server middleware
<?php
define('CLIENT_PORT', 10000);
define('HOST','127.0.0.1');
define('SERVER_PORT', 10001);
gc_enable();
$loop = React\EventLoop\Factory::create();
$client = stream_socket_client('tcp://'.HOST.':'.CLIENT_PORT);
$conn2server = new React\Socket\Connection($client, $loop);
$middleware = new React\Socket\Server($loop);
$middleware->on('connection', function ($conn) use($conn2server,$loop) {
$conn->once('data', function ($data) use ($conn2server) {
$conn2server->write($data.PHP_EOL);
});
$conn2server->once('data', function($data) use ($conn) {
$conn->write($data.PHP_EOL);
if(rand(1,10) == 3){
gc_collect_cycles();
}
});
});
$middleware->listen(SERVER_PORT);
$loop->run();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment