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