Typ |
Funktionsbaustein |
Verfügbar ab: |
V1.0.4.0 |
Übernommen aus |
- |
Implementiert |
- |
Entspricht einem Endpunkt zum Senden und Empfangen von Nachrichten über das nachrichtenbasierte UDP-Protokoll.
Üblicherweise wird zuerst die Methode Open aufgerufen. Ist dies erfolgreich, können Nachrichten gesendet werden. Wenn ein bestimmter Port abgehört werden soll, muss die Methode Bind zur Verknüpfung des Sockets mit diesem Port und optional mit einer spezifischen Ethernet-Schnittstelle verwendet werden. Sollen Nachrichten an allen verfügbaren Ethernet-Schnittstellen empfangen und die ausgehende Schnittstelle automatisch genutzt werden, müssen Sie als Schnittstellen-Eingang der Methode eine leere Zeichenfolge oder 0.0.0.0 verwenden.
Um Daten an einen anderen Peer zu senden, verwenden Sie die Methode Send. Sie werden beim ersten Senden von einem ungebundenen Socket aus automatisch gebunden. Anschließend kann die Methode Receive verwendet werden. Sofern von der Laufzeitanwendung unterstützt, werden IP und Port des Sockets über die Eigenschaften BoundIPAddress und BoundPort mit „Kann angefordert werden“ (Can be requested) gebunden.
Um zu prüfen, ob Daten zum Lesen vorliegen, werden die Eigenschaften IsReadable und BytesAvailableToRead verwendet.
Für die Methoden Send und Receive muss die Anwendung einen Puffer bereitstellen, der von der Methode Received gefüllt wird und die zu sendenden Daten für die Methode Send enthält.
Broadcasts können ohne Vorbereitung gesendet und empfangen werden. Um Multicast-Nachrichten zu empfangen, ist ein Beitritt zur entsprechenden Multicast-Gruppe erforderlich. Dazu dienen die Methoden JoinMulticastGroup und LeaveMulticastGroup.
Stellen Sie den Wert der Eigenschaft FB_UDPPeer auf die IP-Adresse der Schnittstelle ein, von der Pakete gesendet werden sollen, wenn Sie mithilfe des SockOpt_MulticastDefaultInterface-Funktionsbausteins UDP-Multicast-Pakete senden wollen. Dies muss nach dem Aufruf der Open-Methode und vor dem ersten Aufruf der SendTo-Methode ausgeführt werden.
HINWEIS: Durch die Angabe der Standardschnittstelle für Multicast-Pakete über den Wert der Eigenschaft SockOpt_MulticastDefaultInterface kann vermieden werden, dass die Pakete an alle verfügbaren Netzwerke gesendet werden.
Die Methode Close wird verwendet, um weitere Datenübertragungen zu stoppen und den Socket zu schließen.
Ist die Verarbeitung durch eine Methode nicht erfolgreich verlaufen, wird dies durch den Wert der Eigenschaft Result angegeben. Der Wert von Result muss nach jedem Methodenaufruf geprüft werden. Das Ergebnis kann auf Ok zurückgesetzt werden. Dazu dient die Methode ResetResult.
HINWEIS: Alle Methoden sind blockiert, solange der Wert der Eigenschaft Result ungleich Ok ist. Ein Methodenaufruf in diesem Fall wird ohne Beeinflussung der Informationen der Eigenschaft Result abgebrochen.
Der Funktionsbaustein weist keine Eingänge und Ausgänge auf. Die Funktionalität ist über Methode und Eigenschaften verfügbar. Der Funktionsbaustein muss in der Anwendung nicht direkt aufgerufen werden.