Skip to content

Sources

What Is a Source?

A source is the input side of a channel pair — it defines where messages originate from. When you create a channel pair, you choose a source type and configure it to receive data from the system or device you want to integrate.

ioBufferPro supports five source types, each suited for different integration scenarios.

TCP Server

A TCP Server source listens for incoming connections on a specified port. External systems connect to ioBufferPro to send their messages.

Use when: External systems need to connect to ioBufferPro (e.g., medical devices, monitoring systems, or applications that push data outward).

Configuration:

SettingDescription
HostBind address. Use 0.0.0.0 for all network interfaces, or 127.0.0.1 for localhost only
PortThe port number to listen on
TLSEnable encrypted connections with certificate and key file paths
json
{
  "type": "tcp_server",
  "host": "0.0.0.0",
  "port": 5000,
  "tls": {
    "enabled": true,
    "cert": "/path/to/cert.pem",
    "key": "/path/to/key.pem"
  }
}

TCP Client

A TCP Client source connects to a remote server to receive messages. ioBufferPro initiates the connection and automatically reconnects if the connection is lost.

Use when: ioBufferPro needs to connect to an existing server to pull data (e.g., connecting to a central data feed or an upstream system).

Configuration:

SettingDescription
HostRemote server hostname or IP address
PortRemote server port number
TLSEnable encrypted connections
json
{
  "type": "tcp_client",
  "host": "192.168.1.100",
  "port": 6000,
  "tls": {
    "enabled": false
  }
}

TIP

If the remote server becomes unavailable, ioBufferPro automatically reconnects using exponential backoff — no manual intervention required.

Serial Port (RS232/RS485)

A Serial Port source reads data from a serial device connected to the system. This is ideal for integrating legacy equipment that communicates over RS232 or RS485.

Use when: You need to receive data from serial-connected devices such as medical instruments, industrial sensors, barcode scanners, or legacy equipment.

Configuration:

SettingDescriptionCommon Values
PortSerial port identifierCOM1, COM3 (Windows) or /dev/ttyUSB0, /dev/ttyS0 (Linux)
Baud RateCommunication speed9600, 19200, 38400, 57600, 115200
Data BitsNumber of data bits per byte7, 8
ParityError detection methodNone, Even, Odd
Stop BitsNumber of stop bits1, 2
Flow ControlFlow control methodNone, RTS/CTS, XON/XOFF
json
{
  "type": "serial",
  "port": "COM3",
  "baud_rate": 9600,
  "data_bits": 8,
  "parity": "None",
  "stop_bits": 1,
  "flow_control": "None"
}

Remote ioBufferPro

A Remote ioBufferPro source receives messages from another ioBufferPro instance. This enables chaining multiple ioBufferPro deployments together for multi-site or multi-tier architectures.

Use when: You need to relay messages between ioBufferPro instances across different sites, networks, or environments.

Configuration:

SettingDescription
URLThe remote ioBufferPro instance address
Channel IDThe specific channel to receive from
AuthenticationCredentials for the remote instance
json
{
  "type": "remote_icombuffer",
  "url": "http://remote-server:8080",
  "channel_id": "channel-001",
  "auth": {
    "username": "relay_user",
    "password": "********"
  }
}

UDP

A UDP source receives UDP datagrams on a specified port. UDP is a connectionless protocol, making this source type ideal for high-volume, low-overhead data streams.

Use when: You need to receive syslog messages, SNMP traps, or other UDP-based protocol data.

Configuration:

SettingDescription
HostBind address. Use 0.0.0.0 for all interfaces
PortThe port number to listen on
json
{
  "type": "udp",
  "host": "0.0.0.0",
  "port": 514
}

INFO

UDP is inherently connectionless, so there is no connection status or reconnection logic for this source type. ioBufferPro listens continuously for incoming datagrams.

ioBufferPro Documentation