1. Go to this page and download the library: Download fastd/swoole library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
fastd / swoole example snippets
class DemoServer extends \FastD\Swoole\Server\Tcp
{
public function doWork(swoole_server $server, $fd, $data, $from_id)
{
echo $data . PHP_EOL;
return 'hello tcp';
}
}
DemoServer::createServer('tcp swoole', 'tcp://0.0.0.0:9527')->start();
class DemoServer extends \FastD\Swoole\Server\Udp
{
public function doPacket(swoole_server $server, $data, $client_info)
{
echo $data . PHP_EOL;
return 'hello tcp';
}
}
DemoServer::createServer('udp swoole', 'udp://127.0.0.1:9527')->start;
class Http extends \FastD\Swoole\Server\Http
{
public function doRequest(ServerRequest $serverRequest)
{
return new JsonResponse([
'msg' => 'hello world',
]);
}
}
Http::createServer('http', 'http://0.0.0.0:9527')->start();
class WebSocket extends \FastD\Swoole\Server\WebSocket
{
public function doOpen(swoole_websocket_server $server, swoole_http_request $request)
{
echo "server: handshake success with fd{$request->fd}\n";
}
public function doMessage(swoole_server $server, swoole_websocket_frame $frame)
{
echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n";
$server->push($frame->fd, "this is server");
}
}
WebSocket::createServer('ws', 'ws://0.0.0.0:9527')->start();
class Server extends \FastD\Swoole\Server\Tcp
{
public function doWork(swoole_server $server, $fd, $data, $from_id)
{
return 'hello server1';
}
}
class Server2 extends \FastD\Swoole\Server\Tcp
{
public function doWork(swoole_server $server, $fd, $data, $from_id)
{
return 'hello server2';
}
}
$server = new Server('tcp server', 'tcp://127.0.0.1:9527');
$server->listen(new Server2('tcp server2', 'tcp://127.0.0.1:9528'));
$server->start();
class DemoServer extends \FastD\Swoole\Server\Tcp
{
public function doWork(swoole_server $server, $fd, $data, $from_id)
{
echo $data . PHP_EOL;
return 'hello tcp';
}
}
$server = DemoServer::createServer('tcp swoole', 'tcp://0.0.0.0:9527');
$argv = $_SERVER['argv'];
$argv[1] = isset($argv[1]) ? $argv[1] : 'status';
switch ($argv[1]) {
case 'start':
$server->start();
break;
case 'stop':
$server->shutdown();
break;
case 'reload':
$server->reload();
break;
case 'status':
default:
$server->status();
}
class DemoServer extends \FastD\Swoole\Server\Tcp
{
public function doWork(swoole_server $server, $fd, $data, $from_id)
{
return 'hello tcp';
}
}
$server = new DemoServer('watch server', 'tcp://0.0.0.0:9527');
// $server = DemoServer::createServer('watch server', 'tcp://0.0.0.0:9527');
$server->watch([__DIR__ . '/listen_files']);