2010-10-29 58 views
0

A)如果我有一个Java应用程序启动并等待指定端口上的套接字连接。有一种方法可以在用户验证后在php中维护会话连接,即持久连接?维护php和java应用程序之间的会话/连接

B)我的意思是,我试图了解它如何完成与MySQL和PHP。 mysql或php如何知道上次打开的连接是什么,所以你不必在执行mysql_connect之后?

C)打开和关闭每个页面加载的连接是否有好处,还是维护一个持久连接更好?

d)如果是后者在C为真,则可以描述或提供如何,将在一个PHP来实现的例子 - > Java的连接

回答

1

A)没有,没有。

B)mysql_pconnect()的工作原理是如何与Web服务器和PHP协作。 Web服务器通常会启动一些处理请求的子进程。每个子进程一次只能处理一个请求,通过向不同进程发送并发请求来实现并发。

每个这样的进程都有自己的PHP实例,每个新的请求都会重复使用它。这允许PHP模块在请求之间保持某种状态。你不能从普通的PHP代码中做到这一点,它必须是用C语言编写的扩展。然而,这并不能保证。一个进程可以随时被杀死并重新启动。

旁注:当然,并不是所有的Web服务器都使用这样的过程。相反,使用线程方法很常见。然而,这不适用于PHP,因为并非所有扩展都是线程安全的。因此,PHP总是必须在创建子进程来处理请求的Web服务器上运行。这种模式(MPM)在Apache上称为prefork。

C)正如我所说,你没有选择。但在快速网络中,打开新连接的开销很小。

+0

感谢您的明确和详细的回复。 – zcourts 2010-10-31 11:18:51

相关问题