server.php 578 B

123456789101112131415161718192021222324
  1. <?php
  2. $server = new swoole_server('0.0.0.0', 9905, SWOOLE_PROCESS, SWOOLE_SOCK_UDP);
  3. $server->set(['worker_num' => 1]);
  4. $socket = $server->getSocket();
  5. $ret = socket_set_option(
  6. $socket,
  7. IPPROTO_IP,
  8. MCAST_JOIN_GROUP,
  9. array('group' => '224.10.20.30', 'interface' => 0)
  10. );
  11. if ($ret === false)
  12. {
  13. throw new RuntimeException('Unable to join multicast group');
  14. }
  15. $server->on('Packet', function (swoole_server $serv, $data, $addr)
  16. {
  17. $serv->sendto($addr['address'], $addr['port'], "Swoole: $data");
  18. var_dump( $addr, strlen($data));
  19. });
  20. $server->start();