Bezeichnung
CreateUDPObject -- erstellt ein neues UDP-Objekt (V5.0)
Übersicht
[id] = CreateUDPObject(id[, port, ip$, mode, protocol])
Beschreibung
Dieser Befehl kann verwendet werden, um ein neues UDP-Objekt zu erstellen, das Daten empfangen und Daten an andere Netzwerkteilnehmer senden kann. Das optionale Argument port kann verwendet werden, um festzulegen, an welchem lokalen Port das UDP-Objekt erstellt werden soll. Wenn Sie dieses Argument nicht angeben, wird CreateUDPObject() automatisch einen freien Port auswählen und Sie können später den Befehl GetLocalPort() verwenden, um die Portnummer des UDP-Objekts herauszufinden. Im ersten Argument id müssen Sie eine ID übergeben, die benötigt wird, um später auf dieses UDP-Objekt zu verweisen. Alternativ können Sie Nil in id übergeben. In diesem Fall wird CreateUDPObject() automatisch eine freie ID auswählen und ihnen zurückgeben.

Ab Hollywood 8.0 gibt es ein neues Argument mode, mit dem Sie den Typ des UDP-Objekts angeben können, das für Sie erstellt werden soll. Dies kann einer der folgenden vordefinierten Werte sein:

#UDPSERVER:
Erstellt ein UDP-Serverobjekt. In diesem Fall kann mit dem optionalen Argument ip$ eine lokale IP-Adresse angegeben werden, an die das UDP-Objekt gebunden werden soll. Der Standardwert ist "*". Dies bedeutet, dass der Server Verbindungen vom gesamten Netzwerk akzeptiert. Sie können auch "127.0.0.1" (oder "::1" in IPv6) angeben, um nur Verbindungen vom lokalen Host zuzulassen. Beachten Sie, dass das Übergeben von "*", das auch die Standardeinstellung ist, bei einigen Konfigurationen die Firewall auslösen kann. #UDPSERVER ist der Standardmodus für CreateUDPObject().

#UDPCLIENT:
Erstellt ein Client-UDP-Objekt. In diesem Fall müssen die optionalen Argumente ip$ und port angegeben werden, um den Server anzugeben, mit dem der Client verbunden ist. Wenn Ihr UDP-Objekt immer Daten an denselben Server sendet, wird empfohlen, es als #UDPCLIENT-Objekt zu erstellen, da SendUDPData() dann schneller ist. (V8.0)

#UDPNONE:
Erstellen Sie ein nicht verbundenes UDP-Objekt. In diesem Fall werden die optionalen Argumente ip$ und port ignoriert. Nicht verbundene UDP-Objekte sind nützlich, wenn Sie Daten an verschiedene Server senden müssen, ohne selbst Daten empfangen zu können. (V8.0)

Darüber hinaus führt Hollywood 8.0 ein optionales neues Argument protocol ein, mit dem Sie das Internetprotokoll angeben können, das vom UDP-Objekt verwendet werden soll. Dies kann eine der folgenden speziellen Konstanten sein:

#IPV4:
Verwendet die Internetprotokollversion 4 (IPv4). IPv4-Adressen sind auf 32 Bit beschränkt und werden unter Verwendung von vier durch drei Punkte getrennten Zahlen dargestellt, z.B. 127.0.0.1.

#IPV6:
Verwendet die Internetprotokollversion 6 (IPv6). IPv6-Adressen verwenden 128 Bits und werden durch acht Gruppen von vier Hexadezimalziffern dargestellt, z.B. 2001:0db8:85a3:0000:0000:8a2e:0370:7334. Beachten Sie, dass #IPV6 auf AmigaOS und kompatiblen Systemen derzeit nicht unterstützt wird.

#IPAUTO:
Lassen Sie das Host-Betriebssystem das zu verwendende Internetprotokoll bestimmen. Anschließend können Sie mit dem Befehl GetLocalProtocol() ermitteln, welches Internetprotokoll das Host-Betriebssystem für diesen Server ausgewählt hat. Siehe GetLocalProtocol für Details.

Das Argument protocol verwendet standardmäßig den Standardprotokolltyp, der mit SetNetworkProtocol() festgelegt wird. Standardmäßig ist dies aus historischen Gründen und aus Gründen der Portabilität #IPV4. Siehe SetNetworkProtocol für Details.

Sobald das UDP-Objekt erstellt ist, können Sie mit den Befehlen SendUDPData(), ReceiveUDPData() und dem Ereignis-Handler OnReceiveUDPData mit anderen Systemen im Netzwerk zu kommunizieren.

Bitte beachten Sie, dass UDP ein unzuverlässiges Übertragungsprotokoll ist. Es ist schneller als das TCP-Protokoll, aber Daten können unvollständig oder gar nicht ankommen. Somit ist es nur für Zwecke geeignet, die nicht von der Integrität der übertragenen Daten abhängt.

Eingaben
id
Identifikator für das neue UDP-Objekt oder Nil für die automatische ID-Auswahl
port
optional: Port für dieses UDP-Objekt oder 0 für die automatische Portwahl (voreingestellt ist 0); muss für #UDPCLIENT gesetzt sein
ip$
optional: IP-Adresse, an die der Server gebunden werden soll (für #UDPSERVER) oder um ein UDP-Objekt zu verbinden (für #UDPCLIENT) (Standardeinstellung ist "*" für #UDPSERVER); muss für #UDPCLIENT gesetzt sein
mode
optional: gewünschter Modus für dieses UDP-Objekt (mögliche Werte siehe oben) (V8.0)
protocol
optional: zu verwendendes Internetprotokoll (mögliche Werte siehe oben); der Standardwert ist der mit SetNetworkProtocol() festgelegte Protokolltyp. (V8.0)
Rückgabewerte
id
optional: Identifikator des UDP-Objekts; wird nur zurückgegeben werden, wenn Sie Nil als id angegeben haben (siehe oben)

Navigation zeigen