Appearance
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:
| Setting | Description |
|---|---|
| Host | Bind address. Use 0.0.0.0 for all network interfaces, or 127.0.0.1 for localhost only |
| Port | The port number to listen on |
| TLS | Enable 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:
| Setting | Description |
|---|---|
| Host | Remote server hostname or IP address |
| Port | Remote server port number |
| TLS | Enable 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:
| Setting | Description | Common Values |
|---|---|---|
| Port | Serial port identifier | COM1, COM3 (Windows) or /dev/ttyUSB0, /dev/ttyS0 (Linux) |
| Baud Rate | Communication speed | 9600, 19200, 38400, 57600, 115200 |
| Data Bits | Number of data bits per byte | 7, 8 |
| Parity | Error detection method | None, Even, Odd |
| Stop Bits | Number of stop bits | 1, 2 |
| Flow Control | Flow control method | None, 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:
| Setting | Description |
|---|---|
| URL | The remote ioBufferPro instance address |
| Channel ID | The specific channel to receive from |
| Authentication | Credentials 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:
| Setting | Description |
|---|---|
| Host | Bind address. Use 0.0.0.0 for all interfaces |
| Port | The 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.