Bezeichnung
multi:AddHandle -- fügt einen Easy-Handle zu einer Multi-Sitzung hinzu
Übersicht
multi:AddHandle(handle)
Beschreibung
Fügt dem Multi-Stack einen Easy-Handle hinzu. Dieser Befehlsaufruf macht diese Multi-Handle-Steuerung zum angegebenen Easy-Handle.

Während einem Multi-Stack ein Easy-Handle hinzugefügt wird, können und müssen Sie easy:Perform() für diesen Handle nicht verwenden. Nachdem Sie den Easy-Handle wieder vom Multi-Stack entfernt haben, können Sie ihn problemlos wieder mit der Easy-Schnittstelle verwenden.

Wenn der Easy-Handle nicht für die Verwendung eines Share- (#CURLOPT_SHARE) oder globalen DNS-Caches (#CURLOPT_DNS_USE_GLOBAL_CACHE) festgelegt ist, wird der DNS-Cache verwendet, der von allen Easy-Handle im Multi-Handle gemeinsam genutzt wird, wenn multi:AddHandle() aufgerufen wird.

Wenn einem Multi-Handle eine einfache Schnittstelle hinzugefügt wird, wird ein gemeinsamer Verbindungs-Cache verwendet, der dem Multi-Handle gehört. Das Entfernen und Hinzufügen neuer Easy-Handle hat keine Auswirkungen auf den Pool von Verbindungen oder die Möglichkeit, Verbindungen erneut zu verwenden.

Wenn Sie #CURLMOPT_TIMERFUNCTION im Multi-Handle gesetzt haben (und Sie sollten wirklich, wenn Sie ereignisbasiert mit multi:SocketAction() und so arbeiten), diesen Callback aus diesem Befehl heraus aufrufen, um nach einer Timer-Aktualisierung zu fragen, sodass Ihre Hauptereignisschleife die Aktivität auf diesem Handle zum Starten bringt.

Der Easy-Handle wird dem Multi-Handle hinzugefügt, bis Sie ihn mit multi:RemoveHandle() wieder entfernen - auch wenn eine Übertragung mit diesem speziellen Easy-Handle abgeschlossen ist.

Sie sollten den Easy-Handle aus dem Multi-Stack entfernen, bevor Sie zuerst den Easy-Handle und dann den Multi-Handle beenden:

  1. multi:RemoveHandle()
  2. easy:Close()
  3. multi:Close()

Eingaben
handle
Easy-Handle zum Multi-Handle hinzufügen

Navigation zeigen