SwooleServer.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. use Swoole\Server;
  3. $server = new Server('http://cloud_device.qingyaokeji.com/', 9501, SWOOLE_PROCESS, SWOOLE_SOCK_TCP);
  4. $server->set([
  5. 'worker_num' => 1, //工作进程数
  6. 'task_worker_num' => 5, //任务工作进程数
  7. 'log_file' => '/www/server/file.log', //日志文件目录
  8. // 'task_use_object' => true, //用于设置是否使用面向对象风格的 Task 回调格式。
  9. 'max_connection' => 3, //最大连接数
  10. // 'upload_tmp_dir' => '/path/to/tmp/dir', //上传文件的临时存储路径
  11. // 'daemonize' => true, //守护进程
  12. ]);
  13. //注册一个回调函数,当有客户端连接到服务器时触发。回调函数内的代码会在客户端连接时执行。
  14. $server->on('connect', function ($server, $fd) {
  15. echo "Client {$fd} connected.\n";
  16. });
  17. //注册一个回调函数,当服务器从已连接的客户端接收数据时触发。回调函数内的代码会在接收到客户端发送的数据时执行
  18. $server->on('receive', function ($server, $fd, $from_id, $data) {
  19. echo "Received data from client {$fd}: {$data}\n";
  20. $server->send($fd, "Server received: {$data}");
  21. });
  22. //注册一个回调函数,当服务器与客户端断开连接时触发。回调函数内的代码会在客户端断开连接时执行。
  23. $server->on('close', function ($server, $fd) {
  24. echo "Client {$fd} closed.\n";
  25. });
  26. $server->on('Task', function ($task) {
  27. // 处理任务回调逻辑
  28. echo "Client222222222222";
  29. });
  30. $server->start();