Kuestenlogik.Bowline.Protocol.Udp 0.9.4

Prefix Reserved
The owner has unlisted this package. This could mean that the package is deprecated, has security vulnerabilities or shouldn't be used anymore.
dotnet add package Kuestenlogik.Bowline.Protocol.Udp --version 0.9.4
                    
NuGet\Install-Package Kuestenlogik.Bowline.Protocol.Udp -Version 0.9.4
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Kuestenlogik.Bowline.Protocol.Udp" Version="0.9.4" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Kuestenlogik.Bowline.Protocol.Udp" Version="0.9.4" />
                    
Directory.Packages.props
<PackageReference Include="Kuestenlogik.Bowline.Protocol.Udp" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Kuestenlogik.Bowline.Protocol.Udp --version 0.9.4
                    
#r "nuget: Kuestenlogik.Bowline.Protocol.Udp, 0.9.4"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Kuestenlogik.Bowline.Protocol.Udp@0.9.4
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Kuestenlogik.Bowline.Protocol.Udp&version=0.9.4
                    
Install as a Cake Addin
#tool nuget:?package=Kuestenlogik.Bowline.Protocol.Udp&version=0.9.4
                    
Install as a Cake Tool

Bowline.Protocol.Udp

Generic UDP listener plugin for the Bowline workbench.

Bind to any UDP endpoint — multicast group, limited or subnet-directed broadcast, or unicast address — and stream every received datagram into the workbench as a JSON envelope. Useful for debugging any UDP-based protocol without a dedicated plugin: DIS (when you want raw bytes alongside Bowline.Protocol.Dis's typed decoding), NetFlow, syslog, game-server telemetry, custom sensor feeds, …

URL shapes

udp://127.0.0.1:5514          # unicast — listen on loopback port 5514
udp://239.255.0.1:3000        # multicast — joins the group
udp://255.255.255.255:3000    # limited broadcast
udp://192.168.1.255:3000      # subnet-directed broadcast
udp://broadcast:3000          # shortcut for 255.255.255.255
udp://multicast:3000          # shortcut for 239.1.2.3

The transport mode is inferred from the IP address — multicast (224.0.0.0/4) joins the group, broadcast (255.255.255.255 or any address ending in .255) enables SO_BROADCAST, everything else binds as unicast.

Envelope

Each datagram arrives as:

{
  "source": "10.0.0.5:53812",
  "bytes": 144,
  "text": "optional UTF-8 decoded string when the payload is valid UTF-8",
  "raw": "<base64 of the full datagram>"
}

text is absent (JSON null) when the payload contains non-UTF-8 bytes; the raw base64 is always present so the workbench can hex-dump it regardless.

Mock replay

The plugin contributes a UdpMockEmitter that plugs into the bowline mock server. Any recording with steps tagged protocol: "udp" gets re-broadcast on UDP at the original cadence (from capturedAt), honouring MockEmitterOptions.Loop / .ReplaySpeed.

Destination is read from the first UDP step's metadata, with sensible defaults:

Metadata key Purpose Default
destination Full udp://host:port URL (overrides host/port) udp://255.255.255.255:3000
host / port Alternative, set individually 255.255.255.255 / 3000
ttl Multicast TTL; ignored for broadcast / unicast 1

Transport mode (multicast join / SO_BROADCAST / plain unicast) is inferred from the destination IP, same classifier the discovery side uses — a multicast recording replays as multicast, a broadcast recording as broadcast, and so on.

Payload source: responseBinary (base64 raw bytes) is preferred; otherwise the emitter falls back to body encoded as UTF-8, so text-only recordings (syslog, human-readable telemetry, …) still replay.

Relationship to Bowline.Protocol.Dis

Bowline.Protocol.Dis gives you typed DIS decoding (entity discovery, PDU filtering, typed envelopes per IEEE 1278.1). Bowline.Protocol.Udp is the low-level cousin — it doesn't decode any protocol, it just surfaces bytes. Run both at once: DIS on one URL for typed per-entity streams, UDP on the same port for the raw-bytes view. Both plugins ship a mock emitter so recordings captured via either can be replayed; pick the protocol string (dis vs udp) on your steps to route them to the right emitter.

Install

dotnet tool install -g Kuestenlogik.Bowline.Tool
bowline plugin install Kuestenlogik.Bowline.Protocol.Udp

Then start the workbench:

bowline

and enter a UDP URL in the sidebar.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated