Annotation of embedaddon/php/ext/sockets/tests/mcast_ipv6_send.phpt, revision 1.1
1.1 ! misho 1: --TEST--
! 2: Multicast support: IPv6 send options
! 3: --SKIPIF--
! 4: <?php
! 5: if (!extension_loaded('sockets')) {
! 6: die('skip sockets extension not available.');
! 7: }
! 8: if (!defined('IPPROTO_IPV6')) {
! 9: die('skip IPv6 not available.');
! 10: }
! 11: $level = IPPROTO_IPV6;
! 12: $s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("skip Can not create socket");
! 13: if (socket_set_option($s, $level, IP_MULTICAST_IF, 1) === false) {
! 14: die("skip interface 1 either doesn't exist or has no ipv6 address");
! 15: }
! 16: --FILE--
! 17: <?php
! 18: $domain = AF_INET6;
! 19: $level = IPPROTO_IPV6;
! 20: $s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
! 21:
! 22: echo "Setting IPV6_MULTICAST_TTL\n";
! 23: $r = socket_set_option($s, $level, IPV6_MULTICAST_HOPS, 9);
! 24: var_dump($r);
! 25: $r = socket_get_option($s, $level, IPV6_MULTICAST_HOPS);
! 26: var_dump($r);
! 27: echo "\n";
! 28:
! 29: echo "Setting IPV6_MULTICAST_LOOP\n";
! 30: $r = socket_set_option($s, $level, IPV6_MULTICAST_LOOP, 0);
! 31: var_dump($r);
! 32: $r = socket_get_option($s, $level, IPV6_MULTICAST_LOOP);
! 33: var_dump($r);
! 34: $r = socket_set_option($s, $level, IPV6_MULTICAST_LOOP, 1);
! 35: var_dump($r);
! 36: $r = socket_get_option($s, $level, IPV6_MULTICAST_LOOP);
! 37: var_dump($r);
! 38: echo "\n";
! 39:
! 40: echo "Setting IPV6_MULTICAST_IF\n";
! 41: echo "interface 0:\n";
! 42: $r = socket_set_option($s, $level, IPV6_MULTICAST_IF, 0);
! 43: var_dump($r);
! 44: $r = socket_get_option($s, $level, IPV6_MULTICAST_IF);
! 45: var_dump($r);
! 46: echo "interface 1:\n";
! 47: $r = socket_set_option($s, $level, IPV6_MULTICAST_IF, 1);
! 48: var_dump($r);
! 49: $r = socket_get_option($s, $level, IPV6_MULTICAST_IF);
! 50: var_dump($r);
! 51: echo "\n";
! 52:
! 53: --EXPECT--
! 54: Setting IPV6_MULTICAST_TTL
! 55: bool(true)
! 56: int(9)
! 57:
! 58: Setting IPV6_MULTICAST_LOOP
! 59: bool(true)
! 60: int(0)
! 61: bool(true)
! 62: int(1)
! 63:
! 64: Setting IPV6_MULTICAST_IF
! 65: interface 0:
! 66: bool(true)
! 67: int(0)
! 68: interface 1:
! 69: bool(true)
! 70: int(1)
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>