code: def ping(self, data: Union[str, bytes] = b"") -> None:
          
          data = utf8(data)
          if self.ws_connection is None or self.ws_connection.is_closing():
              raise WebSocketClosedError()
          self.ws_connection.write_ping(data)
docs: Send ping frame to the remote end.
  
          The data argument allows a small amount of data (up to 125
          bytes) to be sent as a part of the ping message. Note that not
          all websocket implementations expose this data to
          applications.
  
          Consider using the ``websocket_ping_interval`` application
          setting instead of sending pings manually.
  
          .. versionchanged:: 5.1
  
             The data argument is now optional.