Surprisingly, on my Linux system, when connected to a localhost service using IPV4, stream_get_socket_name returns ::1 as the peer or local address. One would expect to get localhost or 127.0.0.1 but the ::1 IPV6 localhost is returned instead.
stream_socket_get_name
(PHP 5)
stream_socket_get_name — Retrieve the name of the local or remote sockets
Description
string stream_socket_get_name
( resource $handle
, bool $want_peer
)
Returns the local or remote name of a given socket connection.
Parameters
- handle
-
The socket to get the name of.
- want_peer
-
If set to TRUE the remote socket name will be returned, if set to FALSE the local socket name will be returned.
Return Values
The name of the socket.
stream_socket_get_name
recycling dot sp dot am at gmail dot com
10-Sep-2010 05:29
10-Sep-2010 05:29
eddi at to-grip dot de
15-May-2006 09:07
15-May-2006 09:07
Use this function to check current status of a connection:
<?php
$c=stream_socket_server("tcp://127.0.0.1:1100");
while(1){
if(is_resource($a=stream_socket_accept($c))){
# do something time-consuming
if(stream_socket_get_name($a,true)!==false){
fwrite($a,"Regards form Berlin");
}
}
} ?>
