/** * Handle incoming control frames * * Sends Pong on Ping and closes the connection after a Close request. * * @param IWebSocketUser $user * @param WebSocketFrame $frame */ protected function processControlFrame(WebSocketFrame $frame) { switch ($frame->getType()) { case WebSocketOpcode::CloseFrame: $frame = WebSocketFrame::create(WebSocketOpcode::CloseFrame); $this->sendFrame($frame); $this->_socket->disconnect(); break; case WebSocketOpcode::PingFrame: $frame = WebSocketFrame::create(WebSocketOpcode::PongFrame); $this->sendFrame($frame); break; } }