gpt4 book ai didi

PHP - 有人可以为我解释 pfsockopen 函数吗? (持久套接字)

转载 作者:可可西里 更新时间:2023-11-01 13:13:48 25 4
gpt4 key购买 nike

来自 PHP.net:

http://www.php.net/manual/en/function.pfsockopen.php

我明白这个函数完成的要点,但我仍然不清楚这是否会完成我想要的。这是我的场景:

我有一个由许多用户同时使用的大型 PHP 应用程序。在应用程序中,我正在打开一个到远程服务器的 TCP 套接字以记录消息等...我希望我可以利用 pfsockopen 来减少需要打开的连接。例如,用户 1 登录 - 套接字打开。 User2登录后,没有打开socket,因为他可以“搭便车”到user1打开的socket上。

这可能吗?

最佳答案

pfsockopen 确实会在脚本结束时保持套接字打开,允许它从一个请求到另一个请求重新使用,有效地打开更少的连接,就像你期望的那样。但是,这并不与所有 SAPI 兼容。

持久性发生在每个进程的基础上。因此,在 CLI SAPI 中运行的 pfsockopen 将在每次执行时关闭并重新打开套接字,因为 CLI 脚本是在启动、打开套接字和结束(关闭套接字)的单个进程中执行的以及过程)。

在每个脚本一个进程的 CGI 模式下,也是如此。

对于 Apache SAPI,这取决于所使用的多处理模块 (MPM) 类型。 mpm-prefork 在每次请求时生成一个新进程,因此它很可能不支持它。 mpm-worker 然而,生成线程,所以它可能会在那里工作。 mpm-winnt 是多线程 MPM 的 Windows 变体,因此它也应该可以工作。

可能发生的最坏情况是调用将作为正常的 fsockopen 调用执行。

关于PHP - 有人可以为我解释 pfsockopen 函数吗? (持久套接字),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8099248/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com