2017 © Pedro Peláez
 

library socket

An efficient swoole framework

image

easyswoole/socket

An efficient swoole framework

  • Monday, May 28, 2018
  • by kiss291323003
  • Repository
  • 0 Watchers
  • 0 Stars
  • 1 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 0 % Grown

The README.md

socket


use EasySwoole\Socket\AbstractInterface\Controller; use EasySwoole\Socket\AbstractInterface\ParserInterface; use EasySwoole\Socket\Bean\Response; use EasySwoole\Socket\Bean\Caller; class C extends Controller{ private $hit = 0; protected $hitTime = 0; function __construct() { var_dump('controller create '.spl_object_hash($this)); parent::__construct(); } protected function onRequest(?string $actionName): bool { $this->hit++; $this->hitTime = time(); return true; } function test() { var_dump($this->hit,$this->hitTime); // co::sleep(10); $this->response()->setMessage('time:'.time()); } protected function gc() { parent::gc(); // TODO: Change the autogenerated stub var_dump('controller has ben gc'); } } class Parser implements ParserInterface{ public function decode($raw, $client): ?Caller { // TODO: Implement decode() method. $ret = new Caller(); $ret->setControllerClass(C::class); $ret->setAction('test'); return $ret; } /* * 如果这里返回null,则不给客户端任何数据 */ public function encode(Response $response, $client): ?string { // TODO: Implement encode() method. return $response->__toString(); } } $server = new \Swoole\Server("127.0.0.1", 9501); $server->set([ 'worker_num'=>1 ]); $conf = new \EasySwoole\Socket\Config(); $conf->setType($conf::TCP); $conf->setParser(new Parser()); $conf->setOnExceptionHandler(function (\swoole_server $server,\Throwable $throwable,string $raw,$client,Response $response){ $response->setStatus('error'); $response->setStatus($response::STATUS_RESPONSE_AND_CLOSE); }); $dispatch = new \EasySwoole\Socket\Dispatcher($conf); $server->on('receive', function ($server, $fd, $reactor_id, $data)use($dispatch) { $dispatch->dispatch($server,$data,$fd,$reactor_id); }); $server->on('close', function ($server, $fd) { echo "connection close: {$fd}\n"; }); $server->start();

The Versions

28/05 2018

dev-master

9999999-dev https://www.easyswoole.com/

An efficient swoole framework

  Sources   Download

Apache-2.0

The Requires

 

The Development Requires

by YF

framework async swoole easyswoole