2017-02-24 4 views
1

Ich möchte eine HTTPS-Anfrage an einen Server senden, aber ein Problem herausfinden, wie. Der beste Weg für mich wäre, die Anfrage zu initiieren und regelmäßig zu überprüfen, ob sie abgeschlossen ist. Wie kann ich das machen? Es ist sogar möglich? Was sind die Alternativen?Asynchrone HTTP (S) -Anfrage in bestehenden Schleife

+0

Welche Code haben Sie versucht? Verwenden Sie eine bestimmte Bibliothek (wie tokio oder hyper)? –

+0

Ich bin beim Auswählen einer Bibliothek bereits fehlgeschlagen - die meisten unterstützten keine asynchronen Anforderungen oder unterstützten TLS nicht. Ich benutze intern MIO, aber nicht Tokio. – BDA

Antwort

-1

Der beste Weg, um asynchrone I/O zu machen, ist die Verwendung von tokio.

Sie können ein Beispiel HTTP + TLS in doc: https://tokio.rs/docs/getting-started/tls/

+0

Link-Only-Antworten sind verpönt. Im Allgemeinen würde ich empfehlen, die relevanten Teile des Links in die Antwort selbst aufzunehmen; Aber in diesem speziellen Fall ... Ich bin nicht sicher, ob die Frage heilbar ist, sie ist viel zu weit gefasst. SO befasst sich am besten mit spezifischen Fragen, nicht mit Tutorials. –

+0

Ich habe versucht, dieses Beispiel zu verwenden - gibt es eine nicht blockierende Variante von Core # run()? – BDA

+0

Nein, core.run (https://tokio-rs.github.io/tokio-core/tokio_core/reactor/struct.Core.html#method.run) Führen Sie die Ereignisschleife aus. Wenn Sie der Ereignisschleife etwas hinzufügen möchten, können Sie core.handle verwenden (siehe https://tokio.rs/docs/getting-started/reactor/#handle). Vielleicht könnten Sie eine Event-Schleife wiederverwenden, aber ich weiß nicht wie: D –