UDP Socket

Go To Product Page

The UDP Socket plugin addresses connection-oriented communication challenges by enabling applications to communicate over a network without the need to establish traditional peer-to-peer connections. Operating in true connectionless mode, it allows a single UDP socket to efficiently interact with multiple remote nodes simultaneously, making it ideal for tasks like device discovery and broadcast messaging.

Basic Setup

  1. In IO Ninja, click the “New Session” dropdown and select “UDP Socket”.

_images/udp-socket-new-session.png
  1. Select a remote address (IP-address or hostname) and a local port to bind to for receiving packets. The local port is used once, when you click “Open Socket”, after that it is bound.

If the local port is set to 0, the OS will choose a free port.

The remote address can also include a port, such as “192.168.1.64:1001”. This port is used whenever you transmit, and you can modify it without reopening the socket.

_images/udp-socket-address.png
  1. Click the “Open Socket” button, to the right of the “Local port” selection field.

_images/udp-socket-open-socket.png
  1. Analyze the log as UDP packets are received.

_images/udp-socket-incoming.png
  1. Adjust settings as needed via the “Settings” button (see “Settings” section below for details).

Note

UDP Socket does more than just receive UDP packets, using the “Transmit” pane, it is easy to send packets too. You can specify a broadcast address, e.g., 255.255.255, or a subnet broadcast address such as 192.168.1.155 and send packets to a group of nodes at the same time.

Settings

_images/udp-socket-settings.png

Setting

Description

Default

Remote address

Remote address (IP address or host name, optionally followed by a semicolon and a port).

Remote port (default)

Remote port (if not specified in the remote address).

Auto-switch remote address

Automatically switch remote address upon receiving a datagram.

False

Adapter

Local network adapter to bind to. Pick one from the list of installed network adapters (or bind to all installed IP4 or all IP6 adapters at once).

All IPv4 adapters

Local port

Local port to bind to. Setting this to 0 auto-selects an available port.

Reuse address

Allow multiple sockets to share the same local address. Maps to the SO_REUSEADDR socket option. Please note, the support and details of implementation for this option are highly platform-specific.

False

UDP broadcast

Toggle whether or not to allow broadcast packets to be transmitted.

True

Read parallelism
(Windows-only)

Maximum number of read requests to issue in parallel. Having more than one pending read at a time helps with increasing read throughput when incoming data arrives in rapid streams (after filling one user buffer, the kernel can immediately switch to the next one without any waiting). Increasing this number beyond 4 usually won’t yield any extra performance gains.

4

Read block size (B)

The size of each individual read block submitted to the underlying transport.

4KB

RX buffer size (B)

The full size of the incoming data (RX) buffer. Affects read throughput.

16KB

TX buffer size (B)

The full size of the outbound data (TX) buffer. Affects write throughput.

16KB

RX buffer full notifications

Toggle warnings in log about the incoming data (RX) buffer getting full.

False

Note

An example of an adapter dropdown on a typical Windows laptop is shown below:

_images/tcp-proxy-adapters.png