Use ephemeral port in test

This commit is contained in:
Nikita Popov 2021-10-05 16:00:50 +02:00
parent 02c5f7f927
commit e91a751e3d

View file

@ -6,9 +6,7 @@ sockets
<?php
$s = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
$br = @socket_bind($s, '0.0.0.0', 58393);
if ($br === false)
die("SKIP IPv4/port 58393 not available");
socket_bind($s, '0.0.0.0', 0);
$so = @socket_set_option($s, IPPROTO_IP, MCAST_JOIN_GROUP, array(
"group" => '224.0.0.23',
"interface" => "lo",
@ -19,7 +17,8 @@ if ($so === false)
<?php
$sock = socket_create(AF_INET, SOCK_DGRAM, SOL_UDP);
socket_bind($sock, '0.0.0.0', 58393);
socket_bind($sock, '0.0.0.0', 0);
socket_getsockname($sock, $unused, $port);
$stream = socket_export_stream($sock);
var_dump($stream);
$so = socket_set_option($sock, IPPROTO_IP, MCAST_JOIN_GROUP, array(
@ -31,7 +30,7 @@ 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", 58393);
$so = socket_sendto($sendsock, $m = "my message", strlen($m), 0, "224.0.0.23", $port);
var_dump($so);
stream_set_blocking($stream, 0);