server.php 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. $serv = new swoole_server("0.0.0.0", 9501, SWOOLE_BASE, SWOOLE_SOCK_TCP | SWOOLE_SSL);
  3. // $serv = new swoole_server("0.0.0.0", 9501, SWOOLE_PROCESS, SWOOLE_SOCK_TCP | SWOOLE_SSL);
  4. $key_dir = dirname(dirname(__DIR__)).'/tests/ssl';
  5. // $port2 = $serv->addlistener('0.0.0.0', 9502, SWOOLE_SOCK_TCP);
  6. // $port2->on('receive', function($serv, $fd, $reactor_id, $data){
  7. // echo "port2: ".$data."\n";
  8. // });
  9. $serv->set(array(
  10. // 'worker_num' => 4,
  11. 'ssl_cert_file' => __DIR__.'/ca/server-cert.pem',
  12. 'ssl_key_file' => __DIR__.'/ca/server-key.pem',
  13. 'ssl_verify_peer' => true,
  14. 'ssl_allow_self_signed' => true,
  15. 'ssl_client_cert_file' => __DIR__.'/ca/ca-cert.pem',
  16. 'ssl_verify_depth' => 10,
  17. ));
  18. $serv->on('connect', function (swoole_server $serv, $fd, $reactor_id){
  19. echo "[#".posix_getpid()."]\tClient@[$fd:$reactor_id]: Connect.\n";
  20. $info = $serv->getClientInfo($fd);
  21. var_dump($info);
  22. });
  23. $serv->on('receive', function (swoole_server $serv, $fd, $reactor_id, $data) {
  24. echo "[#".posix_getpid()."]\tClient[$fd]: $data\n";
  25. $serv->send($fd, "Swoole: $data\n");
  26. });
  27. $serv->on('close', function ($serv, $fd, $reactor_id) {
  28. echo "[#".posix_getpid()."]\tClient@[$fd:$reactor_id]: Close.\n";
  29. });
  30. $serv->start();