>백엔드 개발 >PHP 튜토리얼 >【100分】PHP能否创建常驻内存的Socket长连接?

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

WBOY
WBOY원래의
2016-06-23 13:54:311291검색

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服务器通讯的
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.