Heim  >  Artikel  >  Backend-Entwicklung  >  【100分】PHP能否创建常驻内存的Socket长连接?

【100分】PHP能否创建常驻内存的Socket长连接?

WBOY
WBOYOriginal
2016-06-23 13:54:311231Durchsuche

Hi,大家好,向各位朋友求助,我想实现以下需求:

系统登录的时候创建一个Socket长连接,在有效登录时间内,该Socket连接常驻内存,系统中所有页面都使用该Socket连接与远程服务端进行通信;
当登录过期,或者用户登出系统时,才关闭该连接。

我没搞错的话……PHP的变量在当次脚本执行结束之后,就都释放了,有没有什么办法能实现上面这个需求呢?

P.S 我现在使用的pfsockopen创建Socket连接,php官网对该函数的描述是:
This function behaves exactly as fsockopen() with the difference that  the connection is not closed after the script finishes. It is the persistent version of fsockopen()
红字部分如何理解?这个函数能满足我当前的需求吗?

Thanks!


回复讨论(解决方案)

到目前为止,php 尚未提供 websock 服务功能
也就是说,你只能自己书写 cli 方式的服务器代码

到目前为止,php 尚未提供 websock 服务功能
也就是说,你只能自己书写 cli 方式的服务器代码



额……新手表示这段【自己书写 cli 方式的服务器代码】不太明白,有空的时候还请详细解释一下,Thanks!

 cli 方式 就是常说的 命令行方式

如果你连这个都不明白,那你是写不出来的
当然网上可以找到线程的服务器代码,不过你水品太低的话也是修改不了的

 cli 方式 就是常说的 命令行方式

如果你连这个都不明白,那你是写不出来的
当然网上可以找到线程的服务器代码,不过你水品太低的话也是修改不了的



- - 额,可能我没描述清楚,CLI是知道的……

可否推荐一些开源的项目?我去参考一下,Thanks~~


 cli 方式 就是常说的 命令行方式

如果你连这个都不明白,那你是写不出来的
当然网上可以找到线程的服务器代码,不过你水品太低的话也是修改不了的



- - 额,可能我没描述清楚,CLI是知道的……

可否推荐一些开源的项目?我去参考一下,Thanks~~


楼主的cli方式可以实现
开源项目可以参考下 workerman ,专门做PHP服务器通讯的
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn