自定义服务器

当我们内置的服务器不足以支撑满足业务需求的时候,可以通过实现自己的服务器来满足业务的需求。

实现自己的服务器是相当简单的,如果初次尝试的朋友可以了解一下官方的例子: swoole

另外,因为框架中使用 fastd/swoole 组件,内部分装的一些流程和demo也需要去了解一下。例子: fastd/swoole

示例:

  1. <?php
  2. namespace Server;
  3. use FastD\Servitization\Server\HTTPServer;
  4. use swoole_server;
  5. class TaskServer extends HTTPServer
  6. {
  7. public function doTask(swoole_server $server, $data, $taskId, $workerId)
  8. {
  9. echo $data . PHP_EOL;
  10. }
  11. }

内置的服务器:

  • FastD\Servitization\Server\TCPServer
  • FastD\Servitization\Server\UDPServer
  • FastD\Servitization\Server\HTTPServer
  • FastD\Servitization\Server\WebSocketServer

选择你需要实现的服务器类型,对应继承,然后实现或者重写内部方法。

目前所有服务器都已经实现 doTask 方法,如果需要使用异步任务的朋友可以实现该方法来达到想要的效果。