[id] = CreateUDPObject(id[, port, ip$, mode, protocol])
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
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:
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:
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:
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:
#IPV6:
#IPV6
auf AmigaOS und kompatiblen Systemen derzeit
nicht unterstützt wird.
#IPAUTO:
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.
#UDPCLIENT
gesetzt sein#UDPSERVER
) oder um ein UDP-Objekt zu verbinden
(für #UDPCLIENT
) (Standardeinstellung ist "*" für #UDPSERVER
);
muss für #UDPCLIENT
gesetzt seinid
angegeben
haben (siehe oben)