Edit report at https://bugs.php.net/bug.php?id=63170&edit=1

 ID:                 63170
 Comment by:         alan dot klestoff at gmail dot com
 Reported by:        keirlavelle1 at hotmail dot co dot uk
 Summary:            Creating Socket returns a 'false' stream on local
                     network
 Status:             Open
 Type:               Bug
 Package:            Streams related
 PHP Version:        5.3.17
 Block user comment: N
 Private report:     N

 New Comment:

As we can see in documantation http://php.net/fsockopen

> Warning
> UDP sockets will sometimes appear to have opened without an error, 
> even if the  remote host is unreachable. The error will only become
> apparent when you read  or write data to/from the socket. The reason
> for this is because UDP is a "connectionless" protocol, which means 
> that the operating system does not try to establish a link 
> for the socket until it actually needs to send or receive data.


Previous Comments:
------------------------------------------------------------------------
[2012-09-27 10:41:50] keirlavelle1 at hotmail dot co dot uk

Description:
------------
When using fsockopen if the ip address specified for hostname is local and 
within the subnet mask range, and UDP is specified as the transport method, the 
returned handle will var_dump as a resource of type stream, even if the ip 
address doesn't exist on the network - indicating a false positive for some 
reason.

Test script:
---------------
$socket = fsockopen('UDP://192.168.213.23:12345', $errno, $errstr, 30);

//assuming that subnet mask is 255.255.255.0 - port can be anything

var_dump($socket);

Expected result:
----------------
bool(false);

//possibly e_warning that domain is not valid

Actual result:
--------------
resource(8) of type (stream)


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=63170&edit=1

Reply via email to