code: async def receive(self, pkt):
          
          self.server.logger.info('%s: Received packet %s data %s',
                                  self.sid, packet.packet_names[pkt.packet_type],
                                  pkt.data if not isinstance(pkt.data, bytes)
                                  else '<binary>')
          if pkt.packet_type == packet.PING:
              self.last_ping = time.time()
              await self.send(packet.Packet(packet.PONG, pkt.data))
          elif pkt.packet_type == packet.MESSAGE:
              await self.server._trigger_event(
                  'message', self.sid, pkt.data,
                  run_async=self.server.async_handlers)
          elif pkt.packet_type == packet.UPGRADE:
              await self.send(packet.Packet(packet.NOOP))
          elif pkt.packet_type == packet.CLOSE:
              await self.close(wait=False, abort=True)
          else:
              raise exceptions.UnknownPacketError()
docs: Receive packet from the client.