浏览器请求EventSource 后终止关闭请求后端如何检测?
网友回复
eventSource调用close关闭后会触发服务端的连接关闭事件,我们以swoole为例来看看:
<?php use Swoole\Http\Request; use Swoole\Http\Response; // 设置响应头 function setHeader(Response $response) { $response->header('Content-Type', 'text/event-stream'); $response->header('Cache-Control', 'no-cache'); $response->header('Connection', 'keep-alive'); } // 发送事件 function sendEvent(Response $response, $event, $data) { $response->write("event:$event\n"); $response->write("data:$data\n\n"); } // 用于存储定时器ID的数组 $timerIds = []; // 创建HTTP服务器 $server = new Swoole\Http\Server('0.0.0.0', 9502); // 处理请求 $server->on('request', function(Request $request, Response $response) use(&$timerIds) { if ($request->server['request_uri'] == '/html') { /...
点击查看剩余70%