Raku-Kurs / Funktionale, nebenläufige, reaktive und Web-Programmierung / Web-Programmierung / Entfernte Verbindungen herstellen
Ein Socket öffnen
Ein Socket ist eine Verbindung zwischen zwei Programmen über
ein Netz. Rakus Kernklasse für TCP-Sockets ist
IO::Socket::INET, und Sie brauchen nichts zusätzlich
installiert, um sie zu verwenden.
Um sich mit einem entfernten Server zu verbinden, erzeugen Sie einen Socket mit dem Host und dem Port, den Sie erreichen möchten:
my $conn = IO::Socket::INET.new(:host('raku.org'), :port(80));
say 'connected';
$conn.close;IO::Socket::INET.new öffnet die Verbindung unverzüglich.
Port 80 ist der übliche Port für HTTP, das verbindet also
mit dem Webserver auf raku.org. Wenn Sie fertig sind, gibt
.close die Verbindung frei.
Dieses Beispiel braucht eine funktionierende Netzverbindung, um zu laufen. Gelingt die Verbindung, gibt es
connectedaus.
Dieselbe Klasse wird auf zwei Weisen verwendet: als
Client, der wie hier zu einem Server hinauswählt, und
als Server, der auf hereinkommende Verbindungen lauscht
(was Sie später sehen). Für den Augenblick ist der Gedanke, dass
IO::Socket::INET.new(:host, :port) Ihnen einen lebendigen
Zweiwegkanal zu einer anderen Maschine gibt.
Praxis
Lösen Sie 1 Quiz zum Inhalt dieses Themas.
Kursnavigation
← Entfernte Verbindungen herstellen | Quiz — Sockets →
💪 Oder springen Sie direkt zu den Übungen dieses
Abschnitts.