来自PHP.net:
http://www.php.net/manual/en/function.pfsockopen.php
我理解这个功能完成的要点,但是我还不清楚这是否能达到我想要的目的.这是我的场景:
我有一个大型PHP应用程序,许多用户同时使用它.在应用程序中,我打开一个TCP套接字到远程服务器以记录消息等...我希望我能够利用pfsockopen以便需要打开更少的连接.例如,user1登录 - 套接字打开.User2登录,没有打开套接字,因为他可以"捎带"在user1打开的套接字上.
这可能吗?
net*_*der 11
pfsockopen当脚本结束时,确实会保持套接字打开,允许它从请求重新使用到另一个请求,有效地打开更少的连接,就像你期望的那样.但是,这与所有SAPI不兼容.
持久性发生在每个进程的基础上.因此,pfsockopen在CLI中运行SAPI将在每次执行时关闭并重新打开套接字,因为CLI脚本在单个进程中执行,该进程启动,打开套接字并结束(与进程一起关闭套接字).
在CGI模式下,每个脚本有一个进程,这也是如此.
使用Apache SAPI,它取决于使用何种类型的多处理模块(MPM).mpm-prefork每次请求都会生成一个新进程,因此很可能不支持它.mpm-worker然而,产生线程,所以它可能会在那里工作.mpm-winnt是多线程MPM的Windows变体,所以它也应该工作.
可能发生的最坏情况是呼叫将作为普通fsockopen呼叫执行.
| 归档时间: |
|
| 查看次数: |
3686 次 |
| 最近记录: |