Since apache is multi-processed rather than multi-threaded, I'd imagine that 
you're getting the same socket file descriptor since each new connection 
means a new fork of httpd, resulting in three file descriptors by the time 
you get to what you're doing.

Are you trying to get ahold of the socket/port number itself? Or connect to 
the actual socket? 

J


Vinod Panicker wrote:

> Hi,
> 
> Continuing with the problem that I've been having...
> 
> I made changes to the php_apache.c file and added a new php function of
> my own, which is supposed to return the client socket when called from a
> php script.  Here is the code for the function -
> 
> ---------------
> 
> /* {{{ proto int apache_client_socket()
>    Get the client socket */
> PHP_FUNCTION(apache_client_socket)
> {
> RETURN_LONG(((request_rec
> *)SG(server_context))->connection->client->fd);
> }
> 
> ---------------
> 
> I recompiled php and made a module out of it.  Worked perfectly.  Now, I
> wrote a php script with the following code -
> 
> ---------------
> <?
> echo apache_client_socket();
> ?>
> ---------------
> 
> This script I call from the browser, and everytime it displays a '3'.  I
> even called it from different browser windows, still the same.
> 
> That cant be alright since if the fd is 3 as shown in one browser
> window, it has to be something different in the other window since the
> browser defaults to a keep-alive connection, and the fd's have to be
> different.
> 
> I'll would tell you why I need the socket, but I've described it so many
> times that I'm gonna die :(  I'll forward you a mail if you are really
> interested.
> 
> Tx,
> Vinod.
> 
> -----------------------------------
> Vinod Panicker <[EMAIL PROTECTED]>
> Sr. Software Designer
> Geodesic Information Systems Ltd.


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to