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 — Recuperar el nombre de los sockets locales o remotos
Descripción
string stream_socket_get_name
( resource
$handle
, bool $want_peer
)Devuelve el nombre local o remoto de una conexión de socket dada.
Parámetros
-
handle -
El socket del que se va a obtener el nombre.
-
want_peer -
Si se establece a
TRUEse devolverá el nombre del socket remoto, si se establece aFALSEse devolverá el nombre del socket local.
Valores devueltos
El nombre del socket.
Ver también
- stream_socket_accept() - Acepta una conexión sobre un socket creado por stream_socket_server
recycling dot sp dot am at gmail dot com ¶
2 years ago
eddi at to-grip dot de ¶
7 years ago
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");
}
}
} ?>
