Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP:关闭网页时关闭套接字连接_Php_Sockets - Fatal编程技术网

PHP:关闭网页时关闭套接字连接

PHP:关闭网页时关闭套接字连接,php,sockets,Php,Sockets,我想在客户端关闭网页或导航到其他网页时,在PHP中关闭与客户端的套接字连接 如何在PHP中执行此操作?您可以添加: ignore_user_abort(false); 或者,如果您处于循环中: do{ // some code here... if(connection_aborted()){ // Close socket here.. } sleep( 1 ); // just sleep for 1 second or so. t

我想在客户端关闭网页或导航到其他网页时,在PHP中关闭与客户端的套接字连接

如何在PHP中执行此操作?

您可以添加:

 ignore_user_abort(false);
或者,如果您处于循环中:

do{
   // some code here...
   if(connection_aborted()){
        // Close socket here..
   }        
   sleep( 1 ); // just sleep for 1 second or so. to avoid exhausting CPU.
} while(condition);
您可以在此处查看手册:

在这里:


我认为这是
不可能的
。在
php
中,几乎不可能检测到
客户端已关闭或离开网页
。 所以在关闭页面上无法调用套接字或关闭函数


但是,您可以使用ajax页面
卸载事件

什么套接字?您是否用PHP编写了整个Web服务器?你能展示你用来打开这个连接的代码吗?你有一个循环还是什么的,或者你只是打开一个套接字并一直监听直到它完成?有一个套接字创建、套接字连接、套接字绑定、套接字监听然后套接字关闭的循环,所以当用户关闭网页时,它会卡在套接字监听上,即使我启动了一个新的PHP脚本,它也无法关闭当前的套接字