欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php socket数据等待,php卡死

程序员文章站 2022-05-30 21:10:00
...
有一个服务器程序。多线程的。用php通过socket 进行连接。服务器的收发数据是同步收发。线程池的。

现在的问题是。当我用php 连接服务器程序后。需要等待一段时间。数据才能返回。
这个时候。php无法解析 了。服务器程序可以正常处理socket请求,但,整个php 停掉了,必须等到这个数据返回。完成数据接收后。才能继续解析php文件。

有什么办法可以让php不用全部都停下来等到这个数据返回。


回复讨论(解决方案)

既然是同步收发,那当然要等待完成啦

如果是web程序的话,用ajax,异步调用这个 php socket程序,来防止页面终止。
如果是CLI程序的话,加上php的libevent扩展或者多线程扩展pthreads

现在不是当前页面停止了。而是。。整个php都停止。。。直到接收完数据。。php才能继续解析。

同步当然要等待,除非你用异步。