UAOOI.Networking.UDPMessageHandler
4.0.2
dotnet add package UAOOI.Networking.UDPMessageHandler --version 4.0.2
NuGet\Install-Package UAOOI.Networking.UDPMessageHandler -Version 4.0.2
<PackageReference Include="UAOOI.Networking.UDPMessageHandler" Version="4.0.2" />
paket add UAOOI.Networking.UDPMessageHandler --version 4.0.2
#r "nuget: UAOOI.Networking.UDPMessageHandler, 4.0.2"
// Install UAOOI.Networking.UDPMessageHandler as a Cake Addin #addin nuget:?package=UAOOI.Networking.UDPMessageHandler&version=4.0.2 // Install UAOOI.Networking.UDPMessageHandler as a Cake Tool #tool nuget:?package=UAOOI.Networking.UDPMessageHandler&version=4.0.2
Reactive Networking of Semantic-Data Underlying Transport over UDP
Motivation
The main goal of this document is to provide instruction on how to expand the transport layer for OOI Networking of the Semantic-Data
over the User Datagram Protocol (UDP) to be compliant with the specifications mentioned in the section Normative references. Detailed description of this concept is covered by the document: Reactive Networking of Semantic-Data Library
A reference implementation of the Transport
over UDP is provided by the project Networking.UDPMessageHandler. Because intentionally the SDK is designed to use any transport protocol, a custom external component implementing UDP connectivity can be seamlessly integrated with this SDK using dependency injection concept.
Normative References
The following documents, in whole or in part, are normatively referenced in this document and are indispensable for its application.
- Internet Standard RFC 768: User Datagram Protocol (UDP)l
- Internet Standard RFC: 791 Internet Protocol (IP)
- Internet Standard RFC 1112 Host Extensions for IP Multicasting
- OPC Unified Architecture Specification Part 14: PubSub Release 1.04 February 06, 2018
Notices for Implementer
The article Reactive Networking of Semantic-Data Library contains a description covering instruction for the external UDP handling components. An example of how to implement the Transport
layer for the UDP protocol is illustrated by the project UA Data Example Application. This library implements the IMessageHandlerFactory
in the class MessageHandlerFactory
used to create communication infrastructure for the Consumer
and Producer
role as well.
The JoinMulticastGroup
method subscribes the UdpClient
to a multicast group using the specified IPAddress
. After calling the JoinMulticastGroup
method, the underlying Socket
sends an Internet Group Management Protocol (IGMP) packet to the router requesting membership to the multicast group. The multicast address range is 224.0.0.0
to 239.255.255.255
. If you specify an address outside this range or if the router to which the request is made is not multicast enabled, UdpClient
will throw a SocketException
. Once the UdpClient
is listed with the router as a member of the multicast group, it will be able to receive multicasted datagrams sent to the specified IPAddress
. Publisher
do not need to belong to a multicast group to send datagrams to a multicast IP address. To get more details visit the MSDN online documentation.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- System.ComponentModel.Composition (>= 4.7.0)
- UAOOI.Networking.Core (>= 4.0.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Maintenance release - unimportant changes.