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
Opis
string stream_socket_get_name
( resource
$handle
, bool $want_peer
)Returns the local or remote name of a given socket connection.
Parametry
-
handle -
The socket to get the name of.
-
want_peer -
If set to
TRUEthe remote socket name will be returned, if set toFALSEthe local socket name will be returned.
Zwracane wartości
The name of the socket.
Zobacz też:
- stream_socket_accept() - Accept a connection on a socket created by stream_socket_server
recycling dot sp dot am at gmail dot com
10-Sep-2010 02:29
eddi at to-grip dot de
14-May-2006 06: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");
}
}
} ?>
