Diese Bibliothek stellt APIs zum Senden/Empfangen von Nachrichten an/von einem anderen Anwendungsprozess (lokal oder remote) für verbindungslose Protokolle bereit.
Wenn die lokale Hostadresse oder die IP-Adresse nicht im optionalen Feld localHost
angegeben ist, ist die localhost
-Adresse standardmäßig gebunden. Die Portnummer des lokalen Ports, über den die Verbindung zum Remote-Server hergestellt wird, wird zufällig ermittelt (ephemerer Port).
Der udp:Client
wird zur Interaktion mit dem Remote-UDP-Host verwendet und kann wie folgt definiert werden:
udp : Client socketClient = check new ;
udp : Datagram datagram = {
remoteHost : " localhost " ,
remotePort : 48829 ,
data : " Hello Ballerina " . toBytes ()
};
check socketClient -> sendDatagram ( datagram );
readonly & udp : Datagram result = check socketClient -> receiveDatagram ();
check socketClient -> close ();
Der udp:ConnectClient
wird durch die Bereitstellung von remoteHost
und remotePort
so konfiguriert, dass er nur Daten vom konfigurierten Remote-Host empfängt und Daten an diesen sendet. Sobald die Verbindung hergestellt ist, dürfen keine Daten von anderen Hosts empfangen oder an diese gesendet werden. Der Client bleibt verbunden, bis er explizit geschlossen wird. Wenn die Anzahl der an die Methode writeBytes
übergebenen Bytes größer ist als die von einem Datagramm zulässige Datengröße, werden alle Bytes iterativ mit mehreren Datagrammen gesendet.
udp : ConnectClient socketClient = check new ( " localhost " , 48829 );
string msg = " Hello Ballerina " ;
check socketClient -> writeBytes ( msg . toBytes ());
readonly & byte [] result = check socketClient -> readBytes ();
check socketClient -> close ();
Der udp:Listener
wird verwendet, um die eingehende Socket-Anfrage abzuhören.
Der udp:Listener
kann die folgenden Methoden haben.
onBytes(readonly & byte[] data, udp:Caller caller)
oder onDatagram(readonly & udp:Datagram, udp:Caller)
: Diese Remote-Methoden werden aufgerufen, sobald der Inhalt vom Client empfangen wird. Der Client wird mit udp:Caller
dargestellt.
onError(readonly & udp:Error err)
: Diese Remote-Methode wird in einer Fehlersituation aufgerufen.
Ein udp:Listener
kann wie folgt definiert werden:
service on new udp:Listener( 48829 ) {
remote function onDatagram( readonly & udp : Datagram datagram )
returns udp : Datagram | udp : Error ? {
// Handle the content received from the client
}
remote function onError( udp : Error err ) {
// Handle the error situation
}
}
Die Registerkarten „Probleme“ und „Projekte“ sind für dieses Repository deaktiviert, da es Teil der Ballerina-Standardbibliothek ist. Um Fehler zu melden, neue Funktionen anzufordern, neue Diskussionen zu starten, Projektforen anzuzeigen usw., besuchen Sie bitte das übergeordnete Repository der Ballerina Standard Library.
Dieses Repository enthält nur den Quellcode für das Paket.
Laden Sie Java SE Development Kit (JDK) Version 21 herunter und installieren Sie es (von einem der folgenden Speicherorte).
Orakel
OpenJDK
Hinweis: Legen Sie die Umgebungsvariable JAVA_HOME auf den Pfadnamen des Verzeichnisses fest, in dem Sie JDK installiert haben.
Führen Sie die folgenden Befehle aus, um aus der Quelle zu erstellen.
So erstellen Sie das Paket:
./gradlew clean build
So führen Sie die Tests aus:
./gradlew clean test
Um eine Gruppe von Tests auszuführen
./gradlew clean test -Pgroups=<test_group_names>
So erstellen Sie das ohne die Tests:
./gradlew clean build -x test
So debuggen Sie die Paketimplementierung:
./gradlew clean build -Pdebug=<port>
So debuggen Sie mit der Ballerina-Sprache:
./gradlew clean build -PbalJavaDebug=<port>
Veröffentlichen Sie die generierten Artefakte im lokalen zentralen Ballerina-Repository:
./gradlew clean build -PpublishToLocalCentral=true
Veröffentlichen Sie die generierten Artefakte im zentralen Ballerina-Repository:
./gradlew clean build -PpublishToCentral=true
Als Open-Source-Projekt begrüßt Ballerina Beiträge aus der Community.
Weitere Informationen finden Sie in den Beitragsrichtlinien.
Alle Mitwirkenden werden aufgefordert, den Ballerina-Verhaltenskodex zu lesen.
udp
-Bibliothek.