The only way I can possibly think of would really be long polling, hidden iframe to keep the connection, or similar, and just sleep()ing php for ages. Or you can open a socket not using php, but within php itself, I don't believe there's a non-hacky method.