如果我用php编写comet push,然后在java服务器上通过quercus使用这段代码,那会不会解决apache的每个请求一个进程的问题,并且能很好地扩展到很多用户使用我的chat?
发布于 2010-02-02 15:18:00
Quercus在(J)VM上运行,所以它可以与其他可以启动线程的代码一起运行。但是为什么你需要线程来进行聊天呢?您只需将普通PHP请求的超时设置为0(无超时),并等待将某些内容发送回用户。
其他事情将会响应别人的请求(即A说"hello“,这会中断B等待发生的事情)。这不需要多线程。
此外,您还可以继续使用Apache/PHP并执行上述操作,而不是通过XML RPC之类的东西连接到Java (或其他)服务,这可能会一直等待下去。该服务器可以运行多个线程,或者做它需要做的任何事情。
发布于 2010-02-02 14:34:55
是,解决了每个请求一个进程的瓶颈。但是,您需要了解JVM可能存在的瓶颈。不过,在我看来,您应该使用类似libevent的C/C++、Erlang、Google Go或简单的Java servlet来编写服务或应用程序。
https://stackoverflow.com/questions/2182195
复制相似问题