MCPcopy Create free account
hub / github.com/miguelgrinberg/python-socketio / disconnect

Method disconnect

src/socketio/server.py:385–412  ·  view source on GitHub ↗

Disconnect a client. :param sid: Session ID of the client. :param namespace: The Socket.IO namespace to disconnect. If this argument is omitted the default namespace is used. :param ignore_queue: Only used when a message queue is configured. If

(self, sid, namespace=None, ignore_queue=False)

Source from the content-addressed store, hash-verified

383 return _session_context_manager(self, sid, namespace)
384
385 def disconnect(self, sid, namespace=None, ignore_queue=False):
386 """Disconnect a client.
387
388 :param sid: Session ID of the client.
389 :param namespace: The Socket.IO namespace to disconnect. If this
390 argument is omitted the default namespace is used.
391 :param ignore_queue: Only used when a message queue is configured. If
392 set to ``True``, the disconnect is processed
393 locally, without broadcasting on the queue. It is
394 recommended to always leave this parameter with
395 its default value of ``False``.
396 """
397 namespace = namespace or '/'
398 if ignore_queue:
399 delete_it = self.manager.is_connected(sid, namespace)
400 else:
401 delete_it = self.manager.can_disconnect(sid, namespace)
402 if delete_it:
403 self.logger.info('Disconnecting %s [%s]', sid, namespace)
404 eio_sid = self.manager.pre_disconnect(sid, namespace=namespace)
405 if eio_sid in self._binary_packet:
406 del self._binary_packet[eio_sid]
407 self._send_packet(eio_sid, self.packet_class(
408 packet.DISCONNECT, namespace=namespace))
409 self._trigger_event('disconnect', namespace, sid,
410 self.reason.SERVER_DISCONNECT)
411 self.manager.disconnect(sid, namespace=namespace,
412 ignore_queue=True)
413
414 def shutdown(self):
415 """Stop Socket.IO background tasks.

Calls 5

_send_packetMethod · 0.95
_trigger_eventMethod · 0.95
is_connectedMethod · 0.80
pre_disconnectMethod · 0.80
can_disconnectMethod · 0.45