java - 维护 php 和 java 应用程序之间的 session /连接

标签 java php mysql sockets persistence

A) 如果我有一个 java 应用程序,它启动并等待指定端口上的套接字连接。有没有办法在用户验证后在 php 中维护 session 连接,即持久连接?<​​/p>

B)我的意思是,我试图了解它是如何使用 mysql 和 php 完成的。 mysql 或 php 如何知道最后打开的连接是什么,这样您就不必在之后执行 mysql_connect ?

C) 在每次页面加载时打开和关闭连接是否有任何好处,或者维护持久连接是否更好?

D)如果后者在 C 中是正确的,您能否描述或给出如何在 php --> Java 连接中实现它的示例

最佳答案

A)不,没有。

B) mysql_pconnect() 的工作原理是由于 Web 服务器和 php 的协作方式。 Web 服务器通常会启动许多处理请求的子进程。每个子进程一次只能处理一个请求,并发是通过向不同进程发送并发请求来实现的。

每个这样的进程都有自己的 PHP 实例,每个新请求都会重复使用该实例。这允许 PHP 模块在请求之间维护某些状态。您无法通过常规 PHP 代码执行此操作,它必须是用 C 编写的扩展。不过,对此没有任何保证。进程可以随时被终止并重新启动。

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

C) 正如我所说,你别无选择。不过,在快速网络上,打开新连接的开销非常小。

关于java - 维护 php 和 java 应用程序之间的 session /连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4053116/

相关文章:

java - 配置 Jetty 6 以使用 commons.dbcp 数据源

java - 导入自己的枚举转换器

php - AWS-PHP-SDK/SNS 直接寻址返回错误

php - MySQL CLI Web 环境在/<unix> 上停止

java - 在 JavaFX 中扩展 Pane

java - 如何将剪贴板中的数据粘贴到文本区域

php - 显示有多少人在 WooCommerce 购物车中拥有产品,但向结果添加(临时)随机数

php - PostgreSQL 不允许字符串值

php - mysql 从 json 编码字段中选择指定的 key_name 和 key_value

mysql order by 然后设置最新日期的值