The PutTCP processor receives a FlowFile and transmits the FlowFile content over a TCP connection to the configured TCP server. By default, the FlowFiles are transmitted over the same TCP connection (or pool of TCP connections if multiple input threads are configured). To assist the TCP server with determining message boundaries, an optional "Outgoing Message Delimiter" string can be configured which is appended to the end of each FlowFiles content when it is transmitted over the TCP connection. An optional "Connection Per FlowFile" parameter can be specified to change the behaviour so that each FlowFiles content is transmitted over a single TCP connection which is opened when the FlowFile is received and closed after the FlowFile has been sent. This option should only be used for low message volume scenarios, otherwise the platform may run out of TCP sockets.


remote, egress, put, tcp


In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

NameDefault ValueAllowable ValuesDescription
HostnamelocalhostThe ip address or hostname of the destination.
Supports Expression Language: true (will be evaluated using variable registry only)
PortThe port on the destination.
Supports Expression Language: true (will be evaluated using variable registry only)
Max Size of Socket Send Buffer1 MBThe maximum size of the socket send buffer that should be used. This is a suggestion to the Operating System to indicate how big the socket buffer should be. If this value is set too low, the buffer may fill up before the data can be read, and incoming data will be dropped.
Idle Connection Expiration5 secondsThe amount of time a connection should be held open without being used before closing the connection.
Connection Per FlowFilefalse
  • true
  • false
Specifies whether to send each FlowFile's content on an individual connection.
Outgoing Message DelimiterSpecifies the delimiter to use when sending messages out over the same TCP stream. The delimiter is appended to each FlowFile message that is transmitted over the stream so that the receiver can determine when one message ends and the next message begins. Users should ensure that the FlowFile content does not contain the delimiter character to avoid errors. In order to use a new line character you can enter '\n'. For a tab character use '\t'. Finally for a carriage return use '\r'.
Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)
Timeout10 secondsThe timeout for connecting to and communicating with the destination. Does not apply to UDP
SSL Context ServiceController Service API:
Implementations: StandardRestrictedSSLContextService
The Controller Service to use in order to obtain an SSL Context. If this property is set, messages will be sent over a secure connection.
Character SetUTF-8Specifies the character set of the data being sent.


successFlowFiles that are sent successfully to the destination are sent out this relationship.
failureFlowFiles that failed to send to the destination are sent out this relationship.

Reads Attributes:

None specified.

Writes Attributes:

None specified.

State management:

This component does not store state.


This component is not restricted.

Input requirement:

This component requires an incoming relationship.

System Resource Considerations:

None specified.

See Also: