import zend sockets tests

Esse commit está contido em:
Paul Tarjan
2013-04-23 16:16:15 -07:00
commit de Sara Golemon
commit 155a38ea1d
123 arquivos alterados com 1871 adições e 1 exclusões
@@ -0,0 +1,2 @@
<?php
var_dump(defined('SO_REUSEPORT'));
@@ -0,0 +1 @@
bool(true)
@@ -0,0 +1,7 @@
<?php
$listenfd = socket_create(AF_INET6, SOCK_STREAM, SOL_TCP);
socket_bind($listenfd, "::1", 13579);
socket_listen($listenfd);
socket_set_nonblock($listenfd);
$connfd = @socket_accept($listenfd);
echo socket_last_error();
@@ -0,0 +1 @@
10035
@@ -0,0 +1,9 @@
<?php
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($socket, '0.0.0.0', 31057);
$so = socket_set_option($socket, IPPROTO_IP, MCAST_JOIN_GROUP, array(
"group" => '224.0.0.251',
"interface" => 0,
));
var_dump($so);
@@ -0,0 +1 @@
bool(true)
+37
Ver Arquivo
@@ -0,0 +1,37 @@
<?php
/* Setup socket server */
$server = socket_create(AF_INET6, SOCK_STREAM, getprotobyname('tcp'));
if (!$server) {
die('Unable to create AF_INET6 socket [server]');
}
if (!socket_bind($server, '::1', 31337)) {
die('Unable to bind to [::1]:31337');
}
if (!socket_listen($server, 2)) {
die('Unable to listen on socket');
}
/* Connect to it */
$client = socket_create(AF_INET6, SOCK_STREAM, getprotobyname('tcp'));
if (!$client) {
die('Unable to create AF_INET6 socket [client]');
}
if (!socket_connect($client, '::1', 31337)) {
die('Unable to connect to server socket');
}
/* Accept that connection */
$socket = socket_accept($server);
if (!$socket) {
die('Unable to accept connection');
}
socket_write($client, "ABCdef123\n");
$data = socket_read($socket, 10, PHP_BINARY_READ);
var_dump($data);
socket_close($client);
socket_close($socket);
socket_close($server);
?>
@@ -0,0 +1,2 @@
string(10) "ABCdef123
"
@@ -0,0 +1,133 @@
<?php
include __DIR__."/mcast_helpers.php.inc";
$domain = AF_INET;
$level = IPPROTO_IP;
$interface = "lo";
$mcastaddr = '224.0.0.23';
$sblock = "127.0.0.1";
echo "creating send socket bound to 127.0.0.1\n";
$sends1 = socket_create($domain, SOCK_DGRAM, SOL_UDP);
$br = socket_bind($sends1, '127.0.0.1');
var_dump($br);
echo "creating unbound socket and hoping the routing table causes an interface other than lo to be used for sending messages to $mcastaddr\n";
$sends2 = socket_create($domain, SOCK_DGRAM, SOL_UDP);
var_dump($br);
echo "creating receive socket\n";
$s = socket_create($domain, SOCK_DGRAM, SOL_UDP);
var_dump($s);
$br = socket_bind($s, '0.0.0.0', 3000);
var_dump($br);
$so = socket_set_option($s, $level, MCAST_JOIN_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "initial packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$i = 0;
checktimeout($s, 500);
while (($str = socket_read($s, 3000)) !== FALSE) {
$i++;
echo "$i> ", $str, "\n";
if ($i == 1) {
echo "leaving group\n";
$so = socket_set_option($s, $level, MCAST_LEAVE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "127.0.0.1", 3000);
var_dump($r);
}
if ($i == 2) {
echo "re-joining group\n";
$so = socket_set_option($s, $level, MCAST_JOIN_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends2, $m = "ignored mcast packet (different interface)", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
}
if ($i == 3) {
echo "blocking source\n";
$so = socket_set_option($s, $level, MCAST_BLOCK_SOURCE, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored packet (blocked source)", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "127.0.0.1", 3000);
var_dump($r);
}
if ($i == 4) {
echo "unblocking source\n";
$so = socket_set_option($s, $level, MCAST_UNBLOCK_SOURCE, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "mcast packet from 127.0.0.1", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
}
if ($i == 5) {
echo "leaving group\n";
$so = socket_set_option($s, $level, MCAST_LEAVE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "127.0.0.1", 3000);
var_dump($r);
}
if ($i == 6) {
echo "joining source group\n";
$so = socket_set_option($s, $level, MCAST_JOIN_SOURCE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "mcast packet from 127.0.0.1", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
}
if ($i == 7) {
echo "leaving source group\n";
$so = socket_set_option($s, $level, MCAST_LEAVE_SOURCE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "127.0.0.1", 3000);
var_dump($r);
}
if ($i == 8) {
/* echo "rjsg\n";
$so = socket_set_option($s, $level, MCAST_JOIN_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);*/
break;
}
}
@@ -0,0 +1,43 @@
creating send socket bound to 127.0.0.1
bool(true)
creating unbound socket and hoping the routing table causes an interface other than lo to be used for sending messages to 224.0.0.23
bool(true)
creating receive socket
resource(%d) of type (Socket)
bool(true)
bool(true)
int(14)
1> initial packet
leaving group
bool(true)
int(20)
int(14)
2> unicast packet
re-joining group
bool(true)
int(42)
int(12)
3> mcast packet
blocking source
bool(true)
int(31)
int(14)
4> unicast packet
unblocking source
bool(true)
int(27)
5> mcast packet from 127.0.0.1
leaving group
bool(true)
int(20)
int(14)
6> unicast packet
joining source group
bool(true)
int(27)
7> mcast packet from 127.0.0.1
leaving source group
bool(true)
int(20)
int(14)
8> unicast packet
@@ -0,0 +1,35 @@
<?php
$domain = AF_INET;
$level = IPPROTO_IP;
$s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
echo "Setting IP_MULTICAST_TTL\n";
$r = socket_set_option($s, $level, IP_MULTICAST_TTL, 9);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_TTL);
var_dump($r);
echo "\n";
echo "Setting IP_MULTICAST_LOOP\n";
$r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 0);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
var_dump($r);
$r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 1);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
var_dump($r);
echo "\n";
echo "Setting IP_MULTICAST_IF\n";
echo "interface 0:\n";
$r = socket_set_option($s, $level, IP_MULTICAST_IF, 0);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_IF);
var_dump($r);
echo "interface 1:\n";
$r = socket_set_option($s, $level, IP_MULTICAST_IF, 1);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_IF);
var_dump($r);
echo "\n";
@@ -0,0 +1,17 @@
Setting IP_MULTICAST_TTL
bool(true)
int(9)
Setting IP_MULTICAST_LOOP
bool(true)
int(0)
bool(true)
int(1)
Setting IP_MULTICAST_IF
interface 0:
bool(true)
int(0)
interface 1:
bool(true)
int(1)
@@ -0,0 +1,43 @@
<?php
$domain = AF_INET;
$level = IPPROTO_IP;
$s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
echo "Setting IP_MULTICAST_LOOP with 256\n";
//if we had a simple cast to unsigned char, this would be the same as 0
$r = socket_set_option($s, $level, IP_MULTICAST_LOOP, 256);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
var_dump($r);
echo "\n";
echo "Setting IP_MULTICAST_LOOP with false\n";
//should convert to (unsigned char)0
$r = socket_set_option($s, $level, IP_MULTICAST_LOOP, false);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_LOOP);
var_dump($r);
echo "\n";
echo "Setting IP_MULTICAST_TTL with 256\n";
//if we had a simple cast to unsigned char, this would be the same as 0
$r = socket_set_option($s, $level, IP_MULTICAST_TTL, 256);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_TTL);
var_dump($r);
echo "\n";
echo "Setting IP_MULTICAST_TTL with \"254\"\n";
$r = socket_set_option($s, $level, IP_MULTICAST_TTL, "254");
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_TTL);
var_dump($r);
echo "\n";
echo "Setting IP_MULTICAST_TTL with -1\n";
//should give error, not be the same as 255
$r = socket_set_option($s, $level, IP_MULTICAST_TTL, -1);
var_dump($r);
$r = socket_get_option($s, $level, IP_MULTICAST_TTL);
var_dump($r);
echo "\n";
@@ -0,0 +1,21 @@
Setting IP_MULTICAST_LOOP with 256
bool(true)
int(1)
Setting IP_MULTICAST_LOOP with false
bool(true)
int(0)
Setting IP_MULTICAST_TTL with 256
HipHop Warning: %a
bool(false)
int(1)
Setting IP_MULTICAST_TTL with "254"
bool(true)
int(254)
Setting IP_MULTICAST_TTL with -1
HipHop Warning: %a
bool(false)
int(254)
@@ -0,0 +1,134 @@
<?php
include __DIR__."/mcast_helpers.php.inc";
$domain = AF_INET6;
$level = IPPROTO_IPV6;
$interface = 0;
$mcastaddr = 'ff01::114';
$sblock = "?";
echo "creating send socket\n";
$sends1 = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
var_dump($sends1);
echo "creating receive socket\n";
$s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
var_dump($s);
$br = socket_bind($s, '::0', 3000) or die("err");
var_dump($br);
$so = socket_set_option($s, $level, MCAST_JOIN_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
)) or die("err");
var_dump($so);
$r = socket_sendto($sends1, $m = "testing packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
checktimeout($s, 500);
$r = socket_recvfrom($s, $str, 2000, 0, $from, $fromPort);
var_dump($r, $str, $from);
$sblock = $from;
$r = socket_sendto($sends1, $m = "initial packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$i = 0;
checktimeout($s, 500);
while (($str = socket_read($s, 3000)) !== FALSE) {
$i++;
echo "$i> ", $str, "\n";
if ($i == 1) {
echo "leaving group\n";
$so = socket_set_option($s, $level, MCAST_LEAVE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "::1", 3000);
var_dump($r);
}
if ($i == 2) {
echo "re-joining group\n";
$so = socket_set_option($s, $level, MCAST_JOIN_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
}
if ($i == 3) {
echo "blocking source\n";
$so = socket_set_option($s, $level, MCAST_BLOCK_SOURCE, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored packet (blocked source)", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "::1", 3000);
var_dump($r);
}
if ($i == 4) {
echo "unblocking source\n";
$so = socket_set_option($s, $level, MCAST_UNBLOCK_SOURCE, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
}
if ($i == 5) {
echo "leaving group\n";
$so = socket_set_option($s, $level, MCAST_LEAVE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "::1", 3000);
var_dump($r);
}
if ($i == 6) {
echo "joining source group\n";
$so = socket_set_option($s, $level, MCAST_JOIN_SOURCE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "mcast packet from desired source", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
}
if ($i == 7) {
echo "leaving source group\n";
$so = socket_set_option($s, $level, MCAST_LEAVE_SOURCE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "::1", 3000);
var_dump($r);
}
if ($i == 8) {
/*echo "joining source group\n";
$so = socket_set_option($s, $level, MCAST_JOIN_SOURCE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
"source" => $sblock,
));
var_dump($so);*/
break;
}
}
@@ -0,0 +1,44 @@
creating send socket
resource(%d) of type (Socket)
creating receive socket
resource(%d) of type (Socket)
bool(true)
bool(true)
int(14)
int(14)
string(14) "testing packet"
string(%d) "%s"
int(14)
1> initial packet
leaving group
bool(true)
int(20)
int(14)
2> unicast packet
re-joining group
bool(true)
int(12)
3> mcast packet
blocking source
bool(true)
int(31)
int(14)
4> unicast packet
unblocking source
bool(true)
int(12)
5> mcast packet
leaving group
bool(true)
int(20)
int(14)
6> unicast packet
joining source group
bool(true)
int(32)
7> mcast packet from desired source
leaving source group
bool(true)
int(20)
int(14)
8> unicast packet
@@ -0,0 +1,67 @@
<?php
include __DIR__."/mcast_helpers.php.inc";
$domain = AF_INET6;
$level = IPPROTO_IPV6;
$interface = 0;
$mcastaddr = 'ff01::114';
$sblock = "?";
echo "creating send socket\n";
$sends1 = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
var_dump($sends1);
echo "creating receive socket\n";
$s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
var_dump($s);
$br = socket_bind($s, '::0', 3000) or die("err");
var_dump($br);
$so = socket_set_option($s, $level, MCAST_JOIN_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
)) or die("err");
var_dump($so);
$r = socket_sendto($sends1, $m = "testing packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
checktimeout($s, 500);
$r = socket_recvfrom($s, $str, 2000, 0, $from, $fromPort);
var_dump($r, $str, $from);
$sblock = $from;
$r = socket_sendto($sends1, $m = "initial packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$i = 0;
checktimeout($s, 500);
while (($str = socket_read($s, 3000, 500)) !== FALSE) {
$i++;
echo "$i> ", $str, "\n";
if ($i == 1) {
echo "leaving group\n";
$so = socket_set_option($s, $level, MCAST_LEAVE_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "ignored mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
$r = socket_sendto($sends1, $m = "unicast packet", strlen($m), 0, "::1", 3000);
var_dump($r);
}
if ($i == 2) {
echo "re-joining group\n";
$so = socket_set_option($s, $level, MCAST_JOIN_GROUP, array(
"group" => $mcastaddr,
"interface" => $interface,
));
var_dump($so);
$r = socket_sendto($sends1, $m = "mcast packet", strlen($m), 0, $mcastaddr, 3000);
var_dump($r);
}
if ($i == 3) {
break;
}
}
@@ -0,0 +1,21 @@
creating send socket
resource(%d) of type (Socket)
creating receive socket
resource(%d) of type (Socket)
bool(true)
bool(true)
int(14)
int(14)
string(14) "testing packet"
string(%d) "%s"
int(14)
1> initial packet
leaving group
bool(true)
int(20)
int(14)
2> unicast packet
re-joining group
bool(true)
int(12)
3> mcast packet
@@ -0,0 +1,35 @@
<?php
$domain = AF_INET6;
$level = IPPROTO_IPV6;
$s = socket_create($domain, SOCK_DGRAM, SOL_UDP) or die("err");
echo "Setting IPV6_MULTICAST_TTL\n";
$r = socket_set_option($s, $level, IPV6_MULTICAST_HOPS, 9);
var_dump($r);
$r = socket_get_option($s, $level, IPV6_MULTICAST_HOPS);
var_dump($r);
echo "\n";
echo "Setting IPV6_MULTICAST_LOOP\n";
$r = socket_set_option($s, $level, IPV6_MULTICAST_LOOP, 0);
var_dump($r);
$r = socket_get_option($s, $level, IPV6_MULTICAST_LOOP);
var_dump($r);
$r = socket_set_option($s, $level, IPV6_MULTICAST_LOOP, 1);
var_dump($r);
$r = socket_get_option($s, $level, IPV6_MULTICAST_LOOP);
var_dump($r);
echo "\n";
echo "Setting IPV6_MULTICAST_IF\n";
echo "interface 0:\n";
$r = socket_set_option($s, $level, IPV6_MULTICAST_IF, 0);
var_dump($r);
$r = socket_get_option($s, $level, IPV6_MULTICAST_IF);
var_dump($r);
echo "interface 1:\n";
$r = socket_set_option($s, $level, IPV6_MULTICAST_IF, 1);
var_dump($r);
$r = socket_get_option($s, $level, IPV6_MULTICAST_IF);
var_dump($r);
echo "\n";
@@ -0,0 +1,17 @@
Setting IPV6_MULTICAST_TTL
bool(true)
int(9)
Setting IPV6_MULTICAST_LOOP
bool(true)
int(0)
bool(true)
int(1)
Setting IPV6_MULTICAST_IF
interface 0:
bool(true)
int(0)
interface 1:
bool(true)
int(1)
@@ -0,0 +1,2 @@
<?php
var_dump(socket_accept(null));
@@ -0,0 +1,2 @@
HipHop Warning: %a
NULL
@@ -0,0 +1,19 @@
<?php
$rand = rand(1,999);
$s_c = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$s_bind = socket_bind($s_c, '0.0.0.0', 31330+$rand);
var_dump($s_bind);
// Connect to destination address
$s_conn = socket_connect($s_c, 'www.php.net', 80);
var_dump($s_conn);
// Write
$request = 'GET / HTTP/1.1' . "\r\n";
$s_write = socket_write($s_c, $request);
var_dump($s_write);
// Close
$s_close = socket_close($s_c);
var_dump($s_close);
?>
@@ -0,0 +1,4 @@
bool(true)
bool(true)
int(16)
NULL
@@ -0,0 +1,3 @@
<?php
$sock = socket_create_listen(80);<?php
unlink(dirname(__FILE__) . '/006_root_check.tmp');
@@ -0,0 +1 @@
HipHop Warning: %a
@@ -0,0 +1,4 @@
<?php
$sock = socket_create_listen(31338);
socket_getsockname($sock, $addr, $port);
var_dump($addr, $port);
@@ -0,0 +1,2 @@
string(9) "127.0.0.1"
int(31338)
@@ -0,0 +1,3 @@
<?php
$sock1 = socket_create_listen(array());
$sock2 = socket_create_listen(31337, array());
@@ -0,0 +1,2 @@
HipHop Warning: %a
HipHop Warning: %a
@@ -0,0 +1,8 @@
<?php
$rand = rand(1,999);
$s_c_l = socket_create_listen();
var_dump($s_c_l);
if ($s_c_l !== false) {
@socket_close($s_c_l);
}
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
NULL
@@ -0,0 +1,11 @@
<?php
$rand = rand(1,999);
// wrong parameter count
$s_c_l = socket_create_listen(31330+$rand);
var_dump($s_c_l);
// default invocation
$s_c_l2 = socket_create_listen(31330+$rand);
var_dump($s_c_l2);
socket_close($s_c_l2);
socket_close($s_c_l);
?>
@@ -0,0 +1,4 @@
resource(%i) of type (Socket)
HipHop Warning: %a
bool(false)
HipHop Warning: %a
@@ -0,0 +1,11 @@
<?php
var_dump(socket_create_pair(AF_INET, null, null));
$domain = 'unknown';
var_dump(socket_create_pair($domain, SOCK_STREAM, 0, $sockets));
var_dump(socket_create_pair(AF_INET, null, null, $sockets));
var_dump(socket_create_pair(31337, null, null, $sockets));
var_dump(socket_create_pair(AF_INET, 31337, 0, $sockets));
@@ -0,0 +1,9 @@
HipHop Warning: %a
NULL
HipHop Warning: %a
NULL
bool(true)
HipHop Warning: %a
bool(true)
HipHop Warning: %a
bool(true)
@@ -0,0 +1,11 @@
<?php
var_dump(socket_create_pair(AF_INET, null, null));
$domain = 'unknown';
var_dump(socket_create_pair($domain, SOCK_STREAM, 0, $sockets));
var_dump(socket_create_pair(AF_INET, null, null, $sockets));
var_dump(socket_create_pair(31337, null, null, $sockets));
var_dump(socket_create_pair(AF_INET, 31337, 0, $sockets));
@@ -0,0 +1,12 @@
HipHop Warning: %a
NULL
HipHop Warning: %a
NULL
HipHop Warning: %a
bool(false)
HipHop Warning: %a
HipHop Warning: %a
bool(false)
HipHop Warning: %a
HipHop Warning: %a
bool(false)
@@ -0,0 +1,9 @@
<?php
$sockets = array();
if (strtolower(substr(PHP_OS, 0, 3)) == 'win') {
$domain = AF_INET;
} else {
$domain = AF_UNIX;
}
socket_create_pair($domain, SOCK_STREAM, 0, $sockets);
var_dump($sockets);
@@ -0,0 +1,6 @@
array(2) {
[0]=>
resource(4) of type (Socket)
[1]=>
resource(5) of type (Socket)
}
@@ -0,0 +1,44 @@
<?php
/* Bind and connect sockets to localhost */
$localhost = '::1';
/* Hold the port associated to address */
$port = 31337;
/* Setup socket server */
$server = socket_create(AF_INET6, SOCK_STREAM, getprotobyname('tcp'));
if (!$server) {
die('Unable to create AF_INET6 socket [server]');
}
if (!socket_bind($server, $localhost, $port)) {
die('Unable to bind to '.$localhost.':'.$port);
}
if (!socket_listen($server, 2)) {
die('Unable to listen on socket');
}
/* Connect to it */
$client = socket_create(AF_INET6, SOCK_STREAM, getprotobyname('tcp'));
if (!$client) {
die('Unable to create AF_INET6 socket [client]');
}
if (!socket_connect($client, $localhost, $port)) {
die('Unable to connect to server socket');
}
/* Accept that connection */
$socket = socket_accept($server);
if (!$socket) {
die('Unable to accept connection');
}
if (!socket_getpeername($client, $address, $port)) {
die('Unable to retrieve peer name');
}
var_dump($address, $port);
socket_close($client);
socket_close($socket);
socket_close($server);
?>
@@ -0,0 +1,2 @@
string(3) "::1"
int(31337)
@@ -0,0 +1,13 @@
<?php
$rand = rand(1,999);
$s_c = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$s_bind = socket_bind($s_c, '0.0.0.0', 31330+$rand);
var_dump($s_bind);
// Connect to destination address
$s_conn = socket_getsockname($s_c, $ip, $port);
var_dump($s_conn);
var_dump($ip);
var_dump($port);
socket_close($s_c);
?>
@@ -0,0 +1,4 @@
bool(true)
bool(true)
string(7) "0.0.0.0"
int(%i)
@@ -0,0 +1,14 @@
<?php
$domain = (strtoupper(substr(PHP_OS, 0, 3) == 'WIN') ? STREAM_PF_INET : STREAM_PF_UNIX);
$s = stream_socket_pair($domain, STREAM_SOCK_STREAM, 0);
$s0 = reset($s);
$s1 = next($s);
$sock = socket_import_stream($s0);
var_dump($sock);
socket_write($sock, "test message");
socket_close($sock);
var_dump(stream_get_contents($s1));
@@ -0,0 +1,2 @@
resource(%d) of type (Socket)
string(12) "test message"
@@ -0,0 +1,15 @@
<?php
var_dump(socket_import_stream());
var_dump(socket_import_stream(1, 2));
var_dump(socket_import_stream(1));
var_dump(socket_import_stream(new stdclass));
var_dump(socket_import_stream(fopen(__FILE__, "rb")));
var_dump(socket_import_stream(socket_create(AF_INET, SOCK_DGRAM, SOL_UDP)));
$s = stream_socket_server("udp://127.0.0.1:58392", $errno, $errstr, STREAM_SERVER_BIND);
var_dump($s);
var_dump(fclose($s));
var_dump(socket_import_stream($s));
echo "Done.";
@@ -0,0 +1,17 @@
HipHop Warning: %a
NULL
HipHop Warning: %a
NULL
HipHop Warning: %a
NULL
HipHop Warning: %a
NULL
HipHop Warning: %a
bool(false)
HipHop Warning: %a
bool(false)
resource(%d) of type (stream)
bool(true)
HipHop Warning: %a
bool(false)
Done.
@@ -0,0 +1,20 @@
<?php
$stream = stream_socket_server("udp://0.0.0.0:58381", $errno, $errstr, STREAM_SERVER_BIND);
$sock = socket_import_stream($stream);
var_dump($sock);
$so = socket_set_option($sock, IPPROTO_IP, MCAST_JOIN_GROUP, array(
"group" => '224.0.0.23',
"interface" => "lo",
));
var_dump($so);
$sendsock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
var_dump($sendsock);
$br = socket_bind($sendsock, '127.0.0.1');
$so = socket_sendto($sendsock, $m = "my message", strlen($m), 0, "224.0.0.23", 58381);
var_dump($so);
stream_set_blocking($stream, 0);
var_dump(fread($stream, strlen($m)));
echo "Done.\n";
@@ -0,0 +1,6 @@
resource(%d) of type (Socket)
bool(true)
resource(%d) of type (Socket)
int(10)
string(10) "my message"
Done.
@@ -0,0 +1,49 @@
<?php
function test($stream, $sock) {
if ($stream !== null) {
echo "stream_set_blocking ";
print_r(stream_set_blocking($stream, 0));
echo "\n";
}
if ($sock !== null) {
echo "socket_set_block ";
print_r(socket_set_block($sock));
echo "\n";
echo "socket_get_option ";
print_r(socket_get_option($sock, SOL_SOCKET, SO_TYPE));
echo "\n";
}
echo "\n";
}
echo "normal\n";
$stream0 = stream_socket_server("udp://0.0.0.0:58380", $errno, $errstr, STREAM_SERVER_BIND);
$sock0 = socket_import_stream($stream0);
test($stream0, $sock0);
echo "\nunset stream\n";
$stream1 = stream_socket_server("udp://0.0.0.0:58381", $errno, $errstr, STREAM_SERVER_BIND);
$sock1 = socket_import_stream($stream1);
unset($stream1);
test(null, $sock1);
echo "\nunset socket\n";
$stream2 = stream_socket_server("udp://0.0.0.0:58382", $errno, $errstr, STREAM_SERVER_BIND);
$sock2 = socket_import_stream($stream2);
unset($sock2);
test($stream2, null);
echo "\nclose stream\n";
$stream3 = stream_socket_server("udp://0.0.0.0:58383", $errno, $errstr, STREAM_SERVER_BIND);
$sock3 = socket_import_stream($stream3);
fclose($stream3);
test($stream3, $sock3);
echo "\nclose socket\n";
$stream4 = stream_socket_server("udp://0.0.0.0:58384", $errno, $errstr, STREAM_SERVER_BIND);
$sock4 = socket_import_stream($stream4);
socket_close($sock4);
test($stream4, $sock4);
echo "Done.\n";
@@ -0,0 +1,41 @@
normal
stream_set_blocking 1
socket_set_block 1
socket_get_option 2
unset stream
socket_set_block 1
socket_get_option 2
unset socket
stream_set_blocking 1
close stream
stream_set_blocking
HipHop Warning: %a
socket_set_block
HipHop Warning: %a
in %ssocket_import_stream-4-win.php on line %d
socket_get_option
HipHop Warning: %a
in %ssocket_import_stream-4-win.php on line %d
close socket
stream_set_blocking
HipHop Warning: %a
socket_set_block
HipHop Warning: %a
socket_get_option
HipHop Warning: %a
Done.
@@ -0,0 +1,49 @@
<?php
function test($stream, $sock) {
if ($stream !== null) {
echo "stream_set_blocking ";
print_r(stream_set_blocking($stream, 0));
echo "\n";
}
if ($sock !== null) {
echo "socket_set_block ";
print_r(socket_set_block($sock));
echo "\n";
echo "socket_get_option ";
print_r(socket_get_option($sock, SOL_SOCKET, SO_TYPE));
echo "\n";
}
echo "\n";
}
echo "normal\n";
$stream0 = stream_socket_server("udp://0.0.0.0:58380", $errno, $errstr, STREAM_SERVER_BIND);
$sock0 = socket_import_stream($stream0);
test($stream0, $sock0);
echo "\nunset stream\n";
$stream1 = stream_socket_server("udp://0.0.0.0:58381", $errno, $errstr, STREAM_SERVER_BIND);
$sock1 = socket_import_stream($stream1);
unset($stream1);
test(null, $sock1);
echo "\nunset socket\n";
$stream2 = stream_socket_server("udp://0.0.0.0:58382", $errno, $errstr, STREAM_SERVER_BIND);
$sock2 = socket_import_stream($stream2);
unset($sock2);
test($stream2, null);
echo "\nclose stream\n";
$stream3 = stream_socket_server("udp://0.0.0.0:58383", $errno, $errstr, STREAM_SERVER_BIND);
$sock3 = socket_import_stream($stream3);
fclose($stream3);
test($stream3, $sock3);
echo "\nclose socket\n";
$stream4 = stream_socket_server("udp://0.0.0.0:58384", $errno, $errstr, STREAM_SERVER_BIND);
$sock4 = socket_import_stream($stream4);
socket_close($sock4);
test($stream4, $sock4);
echo "Done.\n";
@@ -0,0 +1,39 @@
normal
stream_set_blocking 1
socket_set_block 1
socket_get_option 2
unset stream
socket_set_block 1
socket_get_option 2
unset socket
stream_set_blocking 1
close stream
stream_set_blocking
HipHop Warning: %a
socket_set_block
HipHop Warning: %a
socket_get_option
HipHop Warning: %a
close socket
stream_set_blocking
HipHop Warning: %a
socket_set_block
HipHop Warning: %a
socket_get_option
HipHop Warning: %a
Done.
@@ -0,0 +1,11 @@
<?php
$stream0 = stream_socket_server("udp://0.0.0.0:58380", $errno, $errstr, STREAM_SERVER_BIND);
$sock0 = socket_import_stream($stream0);
leak_variable($stream0, true);
$stream1 = stream_socket_server("udp://0.0.0.0:58381", $errno, $errstr, STREAM_SERVER_BIND);
$sock1 = socket_import_stream($stream1);
leak_variable($sock1, true);
echo "Done.\n";
@@ -0,0 +1 @@
Done.
@@ -0,0 +1,4 @@
<?php
var_dump(socket_listen(null));
$socket = socket_create(AF_UNIX, SOCK_STREAM, 0);
var_dump(socket_listen($socket));
@@ -0,0 +1,4 @@
HipHop Warning: %a
NULL
HipHop Warning: %a
bool(false)
@@ -0,0 +1,9 @@
<?php
$sockets = array();
$domain = AF_INET;
socket_create_pair($domain, SOCK_STREAM, 0, $sockets);
$write = null;
$except = null;
$time = -1;
var_dump(socket_select($sockets, $write, $except, $time));
@@ -0,0 +1,7 @@
<?php
$sockets = null;
$write = null;
$except = null;
$time = 0;
var_dump(socket_select($sockets, $write, $except, $time));
socket_select($sockets, $write, $except);
@@ -0,0 +1,3 @@
HipHop Warning: %a
bool(false)
HipHop Warning: %a
@@ -0,0 +1,37 @@
<?php
$socket = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
if (!$socket) {
die('Unable to create AF_INET socket');
}
if (!socket_set_nonblock($socket)) {
die('Unable to set nonblocking mode for socket');
}
socket_recvfrom($socket, $buf, 12, 0, $from, $port); // cause warning
$address = '127.0.0.1';
socket_sendto($socket, '', 1, 0, $address); // cause warning
if (!socket_bind($socket, $address, 1223)) {
die("Unable to bind to $address:1223");
}
$msg = "Ping!";
$len = strlen($msg);
$bytes_sent = socket_sendto($socket, $msg, $len, 0, $address, 1223);
if ($bytes_sent == -1) {
die('An error occurred while sending to the socket');
} else if ($bytes_sent != $len) {
die($bytes_sent . ' bytes have been sent instead of the ' . $len . ' bytes expected');
}
$from = "";
$port = 0;
socket_recvfrom($socket, $buf, 12, 0); // cause warning
socket_recvfrom($socket, $buf, 12, 0, $from); // cause warning
$bytes_received = socket_recvfrom($socket, $buf, 12, 0, $from, $port);
if ($bytes_received == -1) {
die('An error occurred while receiving from the socket');
} else if ($bytes_received != $len) {
die($bytes_received . ' bytes have been received instead of the ' . $len . ' bytes expected');
}
echo "Received $buf from remote address $from and remote port $port" . PHP_EOL;
socket_close($socket);
@@ -0,0 +1,5 @@
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a
Received Ping! from remote address 127.0.0.1 and remote port 1223
@@ -0,0 +1,37 @@
<?php
$socket = socket_create(AF_INET6, SOCK_DGRAM, SOL_UDP);
if (!$socket) {
die('Unable to create AF_INET6 socket');
}
if (!socket_set_nonblock($socket)) {
die('Unable to set nonblocking mode for socket');
}
socket_recvfrom($socket, $buf, 12, 0, $from, $port); // cause warning
$address = '::1';
socket_sendto($socket, '', 1, 0, $address); // cause warning
if (!socket_bind($socket, $address, 1223)) {
die("Unable to bind to $address:1223");
}
$msg = "Ping!";
$len = strlen($msg);
$bytes_sent = socket_sendto($socket, $msg, $len, 0, $address, 1223);
if ($bytes_sent == -1) {
die('An error occurred while sending to the socket');
} else if ($bytes_sent != $len) {
die($bytes_sent . ' bytes have been sent instead of the ' . $len . ' bytes expected');
}
$from = "";
$port = 0;
socket_recvfrom($socket, $buf, 12, 0); // cause warning
socket_recvfrom($socket, $buf, 12, 0, $from); // cause warning
$bytes_received = socket_recvfrom($socket, $buf, 12, 0, $from, $port);
if ($bytes_received == -1) {
die('An error occurred while receiving from the socket');
} else if ($bytes_received != $len) {
die($bytes_received . ' bytes have been received instead of the ' . $len . ' bytes expected');
}
echo "Received $buf from remote address $from and remote port $port" . PHP_EOL;
socket_close($socket);
@@ -0,0 +1,6 @@
HipHop Warning: %a
in hphp/test/zend/bad/ext-sockets/socket_sentto_recvfrom_ipv6_udp-win32.php on line %d
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a
Received Ping! from remote address ::1 and remote port 1223
@@ -0,0 +1,37 @@
<?php
$socket = socket_create(AF_INET6, SOCK_DGRAM, SOL_UDP);
if (!$socket) {
die('Unable to create AF_INET6 socket');
}
if (!socket_set_nonblock($socket)) {
die('Unable to set nonblocking mode for socket');
}
socket_recvfrom($socket, $buf, 12, 0, $from, $port); // cause warning
$address = '::1';
socket_sendto($socket, '', 1, 0, $address); // cause warning
if (!socket_bind($socket, $address, 1223)) {
die("Unable to bind to $address:1223");
}
$msg = "Ping!";
$len = strlen($msg);
$bytes_sent = socket_sendto($socket, $msg, $len, 0, $address, 1223);
if ($bytes_sent == -1) {
die('An error occurred while sending to the socket');
} else if ($bytes_sent != $len) {
die($bytes_sent . ' bytes have been sent instead of the ' . $len . ' bytes expected');
}
$from = "";
$port = 0;
socket_recvfrom($socket, $buf, 12, 0); // cause warning
socket_recvfrom($socket, $buf, 12, 0, $from); // cause warning
$bytes_received = socket_recvfrom($socket, $buf, 12, 0, $from, $port);
if ($bytes_received == -1) {
die('An error occurred while receiving from the socket');
} else if ($bytes_received != $len) {
die($bytes_received . ' bytes have been received instead of the ' . $len . ' bytes expected');
}
echo "Received $buf from remote address $from and remote port $port" . PHP_EOL;
socket_close($socket);
@@ -0,0 +1,5 @@
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a
Received Ping! from remote address ::1 and remote port 1223
@@ -0,0 +1,11 @@
<?php
$socket = socket_create_listen(31339);
var_dump(socket_set_block($socket));
socket_close($socket);
$socket2 = socket_create_listen(31340);
socket_close($socket2);
var_dump(socket_set_block($socket2));
?>
@@ -0,0 +1,3 @@
bool(true)
HipHop Warning: %a
bool(false)
@@ -0,0 +1,3 @@
<?php
socket_set_block(array());
?>
@@ -0,0 +1 @@
HipHop Warning: %a
@@ -0,0 +1,11 @@
<?php
$socket = socket_create_listen(31339);
var_dump(socket_set_nonblock($socket));
socket_close($socket);
$socket2 = socket_create_listen(31340);
socket_close($socket2);
var_dump(socket_set_nonblock($socket2));
?>
@@ -0,0 +1,3 @@
bool(true)
HipHop Warning: %a
bool(false)
@@ -0,0 +1,3 @@
<?php
$socket = socket_set_nonblock(array());
?>
@@ -0,0 +1 @@
HipHop Warning: %a
@@ -0,0 +1,8 @@
<?php
$rand = rand(1,999);
$s_c_l = socket_create_listen(31330+$rand);
socket_set_nonblock($s_c_l);
var_dump($s_c_l);
#socket_accept($s_c_l);
socket_close($s_c_l);
?>
@@ -0,0 +1 @@
resource(%i) of type (Socket)
@@ -0,0 +1,3 @@
<?php
var_dump('TCP_NODELAY');
?>
@@ -0,0 +1 @@
string(11) "TCP_NODELAY"
+37
Ver Arquivo
@@ -0,0 +1,37 @@
<?php
/* Setup socket server */
$server = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
if (!$server) {
die('Unable to create AF_INET socket [server]');
}
if (!socket_bind($server, '127.0.0.1', 31337)) {
die('Unable to bind to 127.0.0.1:31337');
}
if (!socket_listen($server, 2)) {
die('Unable to listen on socket');
}
/* Connect to it */
$client = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
if (!$client) {
die('Unable to create AF_INET socket [client]');
}
if (!socket_connect($client, '127.0.0.1', 31337)) {
die('Unable to connect to server socket');
}
/* Accept that connection */
$socket = socket_accept($server);
if (!$socket) {
die('Unable to accept connection');
}
socket_write($client, "ABCdef123\n");
$data = socket_read($socket, 10, PHP_BINARY_READ);
var_dump($data);
socket_close($client);
socket_close($socket);
socket_close($server);
?>
@@ -0,0 +1,2 @@
string(10) "ABCdef123
"
@@ -0,0 +1,10 @@
<?php
$rand = rand(1,999);
$s_c = socket_create_listen(31330+$rand);
$s_w = socket_bind();
var_dump($s_w);
$s_w = socket_bind($s_c);
var_dump($s_w);
socket_close($s_c);
?>
@@ -0,0 +1,4 @@
HipHop Warning: %a
NULL
HipHop Warning: %a
NULL
@@ -0,0 +1,5 @@
<?php
// wrong parameter count
$s_c = socket_close();
var_dump($s_c);
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
NULL
@@ -0,0 +1,12 @@
<?php
$rand = rand(1,999);
$s_c = socket_create_listen(31330+$rand);
// wrong parameter count
$s_w = socket_connect();
$s_w = socket_connect($s_c);
$s_w = socket_connect($s_c, '0.0.0.0');
$s_w = socket_connect($s_c, '0.0.0.0', 31330+$rand);
socket_close($s_c);
?>
@@ -0,0 +1,4 @@
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a
@@ -0,0 +1,4 @@
<?php
$sock = socket_create_listen(31338);
socket_getsockname($sock, $addr, $port);
var_dump($addr, $port);
@@ -0,0 +1,2 @@
string(7) "0.0.0.0"
int(31338)
@@ -0,0 +1,5 @@
<?php
$s_w = socket_create();
$s_w = socket_create(AF_INET);
$s_w = socket_create(AF_INET, SOCK_STREAM);
?>
@@ -0,0 +1,3 @@
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a
@@ -0,0 +1,13 @@
<?php
$rand = rand(1,999);
$s_c = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
$s_bind = socket_bind($s_c, '0.0.0.0', 31330+$rand);
var_dump($s_bind);
// Connect to destination address
$s_peer = socket_getpeername($s_c, $ip, $port);
var_dump($s_peer);
var_dump($ip);
var_dump($port);
socket_close($s_c);
?>
@@ -0,0 +1,5 @@
bool(true)
HipHop Warning: %a
bool(false)
NULL
NULL
@@ -0,0 +1,44 @@
<?php
/* Bind and connect sockets to localhost */
$localhost = '127.0.0.1';
/* Hold the port associated to address */
$port = 31337;
/* Setup socket server */
$server = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
if (!$server) {
die('Unable to create AF_INET socket [server]');
}
if (!socket_bind($server, $localhost, $port)) {
die('Unable to bind to '.$localhost.':'.$port);
}
if (!socket_listen($server, 2)) {
die('Unable to listen on socket');
}
/* Connect to it */
$client = socket_create(AF_INET, SOCK_STREAM, getprotobyname('tcp'));
if (!$client) {
die('Unable to create AF_INET socket [client]');
}
if (!socket_connect($client, $localhost, $port)) {
die('Unable to connect to server socket');
}
/* Accept that connection */
$socket = socket_accept($server);
if (!$socket) {
die('Unable to accept connection');
}
if (!socket_getpeername($client, $address, $port)) {
die('Unable to retrieve peer name');
}
var_dump($address, $port);
socket_close($client);
socket_close($socket);
socket_close($server);
?>
@@ -0,0 +1,2 @@
string(9) "127.0.0.1"
int(31337)
@@ -0,0 +1,5 @@
<?php
// wrong parameter count
$s_c = socket_listen();
var_dump($s_c);
?>
@@ -0,0 +1,2 @@
HipHop Warning: %a
NULL
@@ -0,0 +1,9 @@
<?php
$rand = rand(1,999);
// wrong parameter count
$s_c = socket_read();
$s_c = socket_read(14);
$s_c_l = socket_create_listen(31330+$rand);
$s_c = socket_read($s_c_l, 25);
socket_close($s_c_l);
?>
@@ -0,0 +1,3 @@
HipHop Warning: %a
HipHop Warning: %a
HipHop Warning: %a

Alguns arquivos não foram exibidos porque demasiados arquivos foram alterados neste diff Mostrar Mais