mcast_ipv4_send.phpt 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. --TEST--
  2. Multicast support: IPv4 send options
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded('sockets')) {
  6. die('skip sockets extension not available.');
  7. }
  8. $s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP) or die("err");
  9. if (socket_set_option($s, IPPROTO_IP, IP_MULTICAST_IF, 1) === false) {
  10. die("skip interface 1 either doesn't exist or has no ipv4 address");
  11. }
  12. --FILE--
  13. <?php
  14. $domain = AF_INET;
  15. $level = IPPROTO_IP;
  16. $s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
  17. echo "Setting IP_MULTICAST_TTL\n";
  18. $r = socket_set_option($s, $level, IP_MULTICAST_TTL, 9);
  19. var_dump($r);
  20. $r = socket_get_option($s, $level, IP_MULTICAST_TTL);
  21. var_dump($r);
  22. echo "\n";
  23. echo "Setting IP_MULTICAST_LOOP\n";
  24. $r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 0);
  25. var_dump($r);
  26. $r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
  27. var_dump($r);
  28. $r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 1);
  29. var_dump($r);
  30. $r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
  31. var_dump($r);
  32. echo "\n";
  33. echo "Setting IP_MULTICAST_IF\n";
  34. echo "interface 0:\n";
  35. $r = socket_set_option($s, $level, IP_MULTICAST_IF, 0);
  36. var_dump($r);
  37. $r = socket_get_option($s, $level, IP_MULTICAST_IF);
  38. var_dump($r);
  39. echo "interface 1:\n";
  40. $r = socket_set_option($s, $level, IP_MULTICAST_IF, 1);
  41. var_dump($r);
  42. $r = socket_get_option($s, $level, IP_MULTICAST_IF);
  43. var_dump($r);
  44. echo "\n";
  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)