code: async def check_ping_timeout(self):
          
          if self.closed:
              raise exceptions.SocketIsClosedError()
          if time.time() - self.last_ping > self.server.ping_interval + 5:
              self.server.logger.info('%s: Client is gone, closing socket',
                                      self.sid)
              # Passing abort=False here will cause close() to write a
              # CLOSE packet. This has the effect of updating half-open sockets
              # to their correct state of disconnected
              await self.close(wait=False, abort=False)
              return False
          return True
docs: Make sure the client is still sending pings.
  
          This helps detect disconnections for long-polling clients.