public function __construct() { define('APPLICATION_PATH', dirname(dirname(__DIR__)) . "/application"); $this->application = new Yaf_Application(dirname(APPLICATION_PATH) . "/conf/application.ini"); $this->application->bootstrap(); $server = new swoole_websocket_server("0.0.0.0", 9503); $server->set(array('daemonize' => true)); $server->on('Open', array($this, 'onOpen')); $server->on('Message', array($this, 'onMessage')); $server->on('Close', array($this, 'onClose')); $server->start(); }
public function __construct() { //启动应用 $this->initializationOfApp(); // 创建swoole_http_server对象 $server = new swoole_websocket_server("0.0.0.0", 9507); //$server->setGlobal(WEBSOCKET_OPCODE_TEXT); $server->on('open', array($this, 'onOpen')); $server->on('message', array($this, 'onMessage')); $server->on('close', array($this, 'onClose')); //$server->on('shutdown', array($this, 'onShutdown')); $server->start(); }
public function __construct() { $serv = new swoole_websocket_server("127.0.0.1", 9503); $serv->set(array('daemonize' => true)); $serv->on('Open', function ($server, $req) { echo "connection open: " . $req->fd; }); $serv->on('Message', function ($server, $frame) { $server->push($frame->fd, json_encode($frame->data)); }); $serv->on('Close', function ($server, $fd) { echo "connection close: " . $fd; }); $serv->start(); }
public function __construct() { $this->table = new swoole_table(1024); $this->table->column('id', swoole_table::TYPE_INT, 8); //1,2,4,8 $this->table->create(); $config_obj = Yaf_Registry::get("config"); $live_config = $config_obj->live->toArray(); $server = new swoole_websocket_server($live_config['ServerIp'], $live_config['port']); if (isset($live_config['logfile'])) { $server->set(array('daemonize' => true, 'log_file' => $live_config['logfile'])); } else { $server->set(array('daemonize' => true)); } $server->on('Open', array($this, 'onOpen')); $server->on('Message', array($this, 'onMessage')); $server->on('Close', array($this, 'onClose')); $server->start(); }
public function __construct() { define('APPLICATION_PATH', dirname(dirname(__DIR__)) . "/application"); define('MYPATH', dirname(APPLICATION_PATH)); $this->application = new Yaf_Application(dirname(APPLICATION_PATH) . "/conf/application.ini"); $this->application->bootstrap(); $config_obj = Yaf_Registry::get("config"); $live_config = $config_obj->live->toArray(); $server = new swoole_websocket_server($live_config['ServerIp'], $live_config['port']); //ssl配置,注意编译swoole的时候需要加上--enable-openssl选项 //$server = new swoole_websocket_server($live_config['ServerIp'], $live_config['port'], SWOOLE_BASE, SWOOLE_SOCK_TCP | SWOOLE_SSL); if (isset($live_config['logfile'])) { $server->set(array('daemonize' => true, 'log_file' => $live_config['logfile'])); } else { $server->set(array('daemonize' => true)); } $server->on('Open', array($this, 'onOpen')); $server->on('Message', array($this, 'onMessage')); $server->on('Close', array($this, 'onClose')); $server->start(); }
<?php $ws = new swoole_websocket_server("0.0.0.0", 9600); $ws->on('open', function ($ws, $request) { $ws->push($request->fd, "hello, welcome\n"); }); $ws->on('message', function ($ws, $frame) { echo "Message: {$frame->data}\n"; $ws->push($frame->fd, "server: {$frame->data}"); }); $ws->on('close', function ($ws, $fd) { echo "client-{$fd} is closed\n"; }); $ws->start();
<?php $serv = new swoole_websocket_server("0.0.0.0", 9502); $serv->on('Open', function ($server, $req) { echo "connection open: " . $req->fd . PHP_EOL; }); $serv->on('Message', function ($server, $frame) { echo "message: " . $frame->data . PHP_EOL; $server->push($frame->fd, json_encode(["hello", "world"])); }); $serv->on('Close', function ($server, $fd) { echo "connection close: " . $fd . PHP_EOL; }); $serv->start();
<?php require __DIR__ . '/TestServer.php'; $server = new swoole_websocket_server("0.0.0.0", 9501); //$server = new swoole_websocket_server("0.0.0.0", 9501, SWOOLE_BASE); $server->on('open', function (swoole_websocket_server $_server, swoole_http_request $request) { echo "server#{$_server->worker_pid}: handshake success with fd#{$request->fd}\n"; // var_dump($request); }); $server->on('message', function (swoole_websocket_server $_server, $frame) { $pkg = unserialize($frame->data); if ($pkg['index'] % 1000 == 0) { echo "#{$pkg['index']} recv package. sid={$pkg['sid']}, length=" . strlen($frame->data) . ", md5=" . md5($frame->data) . "\n"; } }); $server->on('close', function ($_server, $fd) { echo "client {$fd} closed\n"; }); $server->start();
<?php /** * WebSocket Server. * * @see http://www.w3.org/TR/2012/CR-websockets-20120920/ * @see https://tools.ietf.org/html/rfc6455 */ $websocketServer = new swoole_websocket_server('127.0.0.1', 8080); $websocketServer->on('open', function ($server, $request) { $data = json_encode(['time' => time(), 'message' => 'Merhaba!']); $server->push($request->fd, $data); }); $websocketServer->on('message', function ($server, $frame) { $data = json_encode(['time' => time(), 'message' => htmlspecialchars($frame->data, ENT_NOQUOTES | ENT_HTML5, 'UTF-8')]); foreach ($server->connections as $client) { $server->push($client, $data); } }); $websocketServer->start();
public function run() { $this->_initTable(); $this->server->start(); }
public function actionSwooleserver() { $host = '0.0.0.0'; $port = 9501; $server = new \swoole_websocket_server($host, $port); $server->on('open', function (\swoole_websocket_server $server, $request) { echo "server: handshake success with fd{$request->fd} \n"; }); $server->on('message', function (\swoole_websocket_server $server, $frame) { echo "receive from {$frame->fd}:{$frame->data},opcode:{$frame->opcode},fin:{$frame->finish}\n"; $key = $frame->data; $reply = 'this is swoole server: your key=' . $key; //Yii::log('serializer='.Yii::$app->cache->serializer);// yii 对memcache的value序列化存储了 $listOri = Yii::$app->cache->get($key); //$this->keyAdd; $list = @json_decode($listOri, true); //print_r($list); $data = ['code' => 0, 'msg' => 'ok', 'data' => ['reply' => $reply, 'total' => count($list), 'list' => $list]]; $server->push($frame->fd, json_encode($data)); }); $server->on('close', function ($ser, $fd) { echo "client {$fd} closed\n"; }); $server->start(); echo "swolle server start by {$host}:{$port}\n"; }