code: async def send(self, sid, data, binary=None):
          
          try:
              socket = self._get_socket(sid)
          except KeyError:
              # the socket is not available
              self.logger.warning('Cannot send to sid %s', sid)
              return
          await socket.send(packet.Packet(packet.MESSAGE, data=data,
                                          binary=binary))
docs: Send a message to a client.
  
          :param sid: The session id of the recipient client.
          :param data: The data to send to the client. Data can be of type
                       ``str``, ``bytes``, ``list`` or ``dict``. If a ``list``
                       or ``dict``, the data will be serialized as JSON.
          :param binary: ``True`` to send packet as binary, ``False`` to send
                         as text. If not given, unicode (Python 2) and str
                         (Python 3) are sent as text, and str (Python 2) and
                         bytes (Python 3) are sent as binary.
  
          Note: this method is a coroutine.