Library: TCP/IP client and server support (OMTCP)
Import : omtcp.xmd

Returns: An external output through which data can be written to the tcp connection.

define external string sink function tcp.writer
  of       value tcp.connection   Connection
  timeout  value integer          ms          optional
  protocol value  Protocol    optional

Argument definitions

is an existing tcp.connection object.
is the time to wait for a write operation to complete, expressed in milliseconds.
specifies which I/O protocol is to be used.


Use tcp.writer to obtain an external output object, permitting writes on the connection.


Connection must exist (else external exception TCP05).

Protocol cannot be Single-Packet (else external exception TCP19).

There may not be an active external source derived from Connection with tcp.writer (else external exception TCP20).

Usage Notes

The timeout value applies to individual write operations. External exception TCP06 is thrown if the write operation times out. If a timeout value is not specified, this function blocks until data is written, or until an error occurs.

tcp.writer can be called once or more than once for a connection, but only if called serially. All streams derived from a tcp.writer write to the same output stream attachment, but may each have their own transformation logic and buffering.


  import "omtcp.xmd" prefixed by tcp.
     local tcp.connection Connection-1
     local stream s
     set Connection-1 to tcp.connect to "localhost" on 5300
     tcp.set-buffering of Connection-1 enabled false
     open s with binary-mode as
        tcp.writer of Connection-1
           protocol tcp.multi-packet
     put s ("=" ||* 3048 || "%n") ||* 10
     put s "hello world"
     close s
        exit unless Connection-1
        output tcp.get-string from Connection-1