benphelps Posted May 16, 2009 Share Posted May 16, 2009 I need to get the IP of the connected client. They connect to a socket via web browser. Here is how I make the socket: $mysock = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if(@socket_bind($mysock, $config['address'], $config['port'])){ // win? } else { echo 'Error binding to address: '.$config['address'].':'.$config['port']."\r\n"; passthru('pause'); die(); } This is created on a windows machine if that makes any difference. I can't seem to find a way to do this. Link to comment https://forums.phpfreaks.com/topic/158409-solved-get-client-ip-socket/ Share on other sites More sharing options...
gregor171 Posted May 16, 2009 Share Posted May 16, 2009 I think that web server is connecting to a socket. U might use server IP for that. For client Ip, you could use this. function client_ip(){ // true client ip if (!empty($_SERVER['HTTP_CLIENT_IP'])) //check ip from share internet { return $_SERVER['HTTP_CLIENT_IP']; } elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) //to check ip is pass from proxy { return $_SERVER['HTTP_X_FORWARDED_FOR']; } else { return $_SERVER['REMOTE_ADDR']; } } Link to comment https://forums.phpfreaks.com/topic/158409-solved-get-client-ip-socket/#findComment-835443 Share on other sites More sharing options...
benphelps Posted May 16, 2009 Author Share Posted May 16, 2009 Thats not going to work. I think it is because it requires the web server PHP was built on to send the IP to PHP. I this case, the web server is PHP. Link to comment https://forums.phpfreaks.com/topic/158409-solved-get-client-ip-socket/#findComment-835491 Share on other sites More sharing options...
benphelps Posted May 16, 2009 Author Share Posted May 16, 2009 socket_getpeername($client_accept, $remote_ip, $remote_port); This did the trick. Link to comment https://forums.phpfreaks.com/topic/158409-solved-get-client-ip-socket/#findComment-835495 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.