TCPIPReceiver
Note: Can be used in conjunction with TCPIPSender.
Receives raw data over TCP/IP. Produces a feature each time a specified number of bytes is received or a particular sequence is detected.
To transport data from one FME process to another: use the TCPIPSender transformer in the source FME workspace to send data to a TCPIPReceiver transformer in the receiving FME workspace.
Input Ports
This transformer has no input ports.
Output Ports
Features containing the data that has been received are output through this port.
Parameters
Connection
The Initiation Sequence specifies whether the transformer is responsible for establishing the connection (Establish), or connecting to an establishing host (Connect). If the TCPIPReceiver is used with a corresponding TCPIPSender, either the sender or receiver can be the establisher.
Note: The workspace that establishes the transfer mode must be running before the connecting workspace.
This parameter is only needed by the workspace with the Initiation Sequence parameter set to Connect. The TCPIPReceiver in Connect mode can connect to the specified host and listen for data. The establishing host can be another FME workspace, or any application or server that communicates over TCP/IP.
Specify either a port number or a service (for example, http, ftp, telnet, imap, gopher, pop3, www, and smtp are services that are typically associated with well-known port numbers).
The default value is 8586.
If this parameter is set to No, the TCPIPReceiver will only accept one connection to receive features from. Otherwise the TCPIPReceiver will accept new client connections if the current client has disconnected until the translation is stopped.
Delimiting
If this parameter is set to Fixed Data Length, then each feature output by the TCPIPReceiver will contain a maximum number of bytes, specified by the Data Length parameter. This method is intended for receiving data that always has a fixed length.
If this parameter is set to Receive Data Length from Sender, then the TCPIPReceiver will expect to receive the size of incoming data before the data payload, up to a maximum of 256KB per request. In this way, the value of Data Length is determined dynamically by the sender, rather than set at a fixed value by the receiver. If the sender transmits more than 256KB, then the output data will be divided into 256KB segments. If the TCPIPReceiver is used in conjunction with a TCPIPSender, then the TCPIPSender should have the Send Data Length attribute set to Yes. If this parameter is set to No, then the TCPIPReceiver processes all incoming transmissions as raw data.
If this parameter is set to Custom Delimiter, then the TCPIPReceiver will split received data into features using the specified Delimiter parameter, up to a maximum of 256KB per feature.
Specify the maximum number of bytes that the transformer receives before it outputs a feature. In the event that the connection is terminated, the transformer will output any remaining data. If -1 is entered as a value for this parameter, then the TCPIPReceiver will receive up to 256KB per request. Only used if Delimiting Method is set to Fixed Data Length.
Specify the string that separates the received data into segments. Each segment will become a separate feature. For example, if Delimiter was the string “__”, then the data “ABC__DEF__GHI” would be split into 3 features with Output Attribute values of “ABC”, “DEF”, and “GHI” respectively.
Output
Specify the output attribute that will store the received data.
Specifies the destination attribute for the number of bytes received by the TCPIPReceiver.
Usage Notes
- One workspace is the designated "establisher" of the transport stream. If there are multiple transport streams between workspaces, one workspace must be the establisher of all the streams, and the other will connect to those transport streams. This is regardless of whether the individual transporters are sending or receiving data.
- The establishing workspace must be started before the workspace that is connecting. A TCPIPReceiver/TCPIPSender cannot successfully connect to a transport stream that is not already established.
- For each transport channel, there must be a different port that is used for each server machine.
Editing Transformer Parameters
Using a set of menu options, transformer parameters can be assigned by referencing other elements in the workspace. More advanced functions, such as an advanced editor and an arithmetic editor, are also available in some transformers. To access a menu of these options, click beside the applicable parameter. For more information, see Transformer Parameter Menu Options.
Transformer Categories
FME Licensing Level
FME Professional edition and above
Technical History
Associated FME function or factory: TransporterFactory
Search FME Community
Search for samples and information about this transformer on the FME Community.