Tx for your very prompt reply.
Yeah, I'll post the solution as soon as I find it someplace.
Let me outline the problem in more detail -
Client (VC++) calls a PHP script on the server, specifies the
connection type as Keep-Alive. The PHP script, somehow (still a
big question) gets the socket on which the apache server has
received the client request (so that it can send data to the
client later) and stores it in a database.
Now whenever another PHP script wants to send data asynchronously
to the client, it gets the socket from the database, and just
calls a write() on it. Since the connection is still open
(Keep-Alive), the client receives the information, and doesnt have
to poll the server periodically.
The application of this is indeed destined for a messaging
product, and could benefit a lot of other areas as well.
The only thing that is needed is the socket from apache.
Someone somewhere knows how to get this done, i'm sure :)
Possibly a hack into the PHP module can get this done, i'm open to
On Tue, 21 May 2002 Bogdan Stancescu wrote :
>I'm looking for an answer to your questions as well, so if you do
>find a solution on other lists, could you please post it here as
>Regarding the issue, your proposal wouldn't make for full-duplex
>as far as I understand since I don't see how the client would be
>able to send any data on the same connection _after_ getting
>What are you using on the other end of the pipe (on the client)?
>Plain HTML? Flash? Java? Something else?
>Vinod Panicker wrote:
>>We have developed a client-server application where the server
>>needs to send asynchronous data to the client. Now since we are
>>using Apache/PHP/MySQL, the client needs to poll the server
>>periodically for information.
>>I was thinking if there was some way to get around this basic
>>problem. I understand that this is how things are supposed to
>>work, but it would be just great if i could PUSH data from the
>>server to the client, using HTTP.
>>Since HTTP is a request/response based protocol, Apache would
>>not send any data to the client asynchronously. So what i was
>>thinking was - If i tell the server to allow Keep-Alive
>>connections, and increase the timeout value and max requests, I
>>would effectively have a constant TCP connection. Now the only
>>problem would be of sending asynchronous data to the client.
>>Solution? Here goes - If there was some way in which i could
>>get hold of the file descriptor(socket) that is being used by
>>apache to write data to the client, then i could, from a PHP
>>script also send any data to the client using the socket
>>functions of PHP since i already have the socket with me.
>>This would mean that the client doesnt have to poll the server
>>for data any more... and if the connection does get closed, the
>>client could reconnect to the server asking for another
>>Now I know that this is probably the wrong place to put such a
>>query - maybe the apache list would have been better. But since
>>I'm using PHP out here, i thought i'd give it a try.
>>Does the solution sound very outlandish? Are there any
>>pitfalls? And finally, how do i get hold of the socket?
>>Tx in advance,
>>Click below to visit monsterindia.com and review jobs in India
Click below to visit monsterindia.com and review jobs in India or
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php