Hi, 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 suggestions. Tx, Vinod. On Tue, 21 May 2002 Bogdan Stancescu wrote : >Hi! > >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 >well? > >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 >connected. > >What are you using on the other end of the pipe (on the client)? >Plain HTML? Flash? Java? Something else? > >Bogdan > >Vinod Panicker wrote: > >>Hi, >> >>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 >>keep-alive connection. >> >>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, >>Vinod. >>_________________________________________________________ >>Click below to visit monsterindia.com and review jobs in India >>or Abroad >>http://monsterindia.rediff.com/jobs >> >> > > > _________________________________________________________ Click below to visit monsterindia.com and review jobs in India or Abroad http://monsterindia.rediff.com/jobs -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php