socket_getopt.phpt 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. --TEST--
  2. mixed socket_getopt( resource $socket , int $level , int $optname ) ;
  3. --CREDITS--
  4. marcosptf - <marcosptf@yahoo.com.br> - #phparty7 - @phpsp - novatec/2015 - sao paulo - br
  5. --SKIPIF--
  6. <?php
  7. if (!extension_loaded('sockets')) {
  8. die('skip sockets extension not available.');
  9. }
  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_getopt($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_getopt($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_getopt($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_getopt($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_getopt($s, $level, IP_MULTICAST_IF);
  42. var_dump($r);
  43. echo "\n";
  44. ?>
  45. --CLEAN--
  46. <?php
  47. unset($domain);
  48. unset($level);
  49. socket_close($s);
  50. unset($s);
  51. unset($r");
  52. ?>
  53. --EXPECT--
  54. Setting IP_MULTICAST_TTL
  55. bool(true)
  56. int(9)
  57. Setting IP_MULTICAST_LOOP
  58. bool(true)
  59. int(0)
  60. bool(true)
  61. int(1)
  62. Setting IP_MULTICAST_IF
  63. interface 0:
  64. bool(true)
  65. int(0)
  66. interface 1:
  67. bool(true)
  68. int(1)