mcast_ipv4_send.phpt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. --TEST--
  2. Multicast support: IPv4 send options
  3. --EXTENSIONS--
  4. sockets
  5. --SKIPIF--
  6. <?php
  7. $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP) or die("err");
  8. if (socket_set_option($s, IPPROTO_IP, IP_MULTICAST_IF, 1) === false) {
  9. die("skip interface 1 either doesn't exist or has no ipv4 address");
  10. }
  11. --FILE--
  12. <?php
  13. $domain = AF_INET;
  14. $level = IPPROTO_IP;
  15. $s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
  16. echo "Setting IP_MULTICAST_TTL\n";
  17. $r = socket_set_option($s, $level, IP_MULTICAST_TTL, 9);
  18. var_dump($r);
  19. $r = socket_get_option($s, $level, IP_MULTICAST_TTL);
  20. var_dump($r);
  21. echo "\n";
  22. echo "Setting IP_MULTICAST_LOOP\n";
  23. $r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 0);
  24. var_dump($r);
  25. $r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
  26. var_dump($r);
  27. $r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 1);
  28. var_dump($r);
  29. $r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
  30. var_dump($r);
  31. echo "\n";
  32. echo "Setting IP_MULTICAST_IF\n";
  33. echo "interface 0:\n";
  34. $r = socket_set_option($s, $level, IP_MULTICAST_IF, 0);
  35. var_dump($r);
  36. $r = socket_get_option($s, $level, IP_MULTICAST_IF);
  37. var_dump($r);
  38. echo "interface 1:\n";
  39. $r = socket_set_option($s, $level, IP_MULTICAST_IF, 1);
  40. var_dump($r);
  41. $r = socket_get_option($s, $level, IP_MULTICAST_IF);
  42. var_dump($r);
  43. echo "\n";
  44. ?>
  45. --EXPECT--
  46. Setting IP_MULTICAST_TTL
  47. bool(true)
  48. int(9)
  49. Setting IP_MULTICAST_LOOP
  50. bool(true)
  51. int(0)
  52. bool(true)
  53. int(1)
  54. Setting IP_MULTICAST_IF
  55. interface 0:
  56. bool(true)
  57. int(0)
  58. interface 1:
  59. bool(true)
  60. int(1)