The OMTCP library is a set of functions that allow TCP connections to and from other processes and machines.
Among other things, OMTCP allows you to:
tcp.accept-connection
, tcp.connect
, tcp.create-service
,
tcp.destroy-service
, tcp.disconnect
, and tcp.port
),
tcp.peer-ip
, tcp.peer-name
), and
tcp.get-string
,
tcp.put-string,
tcp.writer
, tcp.reader
,
tcp.wait-for-input
, and tcp.set-buffering
).
The functions in this library use the following opaque data types:
tcp.connection
—allows you to create a connection to a remote machine, and
tcp.service
—allows you to accept TCP connections from remote client machines.
To use OMTCP, you must import it into your program using an import declaration such as:
import "omtcp.xmd" prefixed by omtcp.
This is a complete list of the OMTCP library external exceptions that may be thrown back to the calling
OmniMark program. These are all catchable using the #external-exception
label.
TCP01
: Unable to resolve the given destination address: %s
TCP02
: Wait operation failed: %s
TCP03
: Minimum (%d) and maximum (%d) must be >= -1 with max > min
TCP04
: TCP object already has a derived source
TCP05
: TCP socket is not connected
TCP06
: Write operation timed out
TCP07
: Read operation timed out
TCP08
: Unable to connect to destination %s
TCP09
: Failed to create service port %d
TCP10
: Failed to accept incoming connection: %s
TCP11
: Error while reading from connection: %s
TCP12
: Error while writing to connection: %s
TCP13
: Invalid packet size %d received for packet-based protocol
TCP14
: Specified port %d is out of range (0 to 65535)
TCP15
: Internal error, contact customer support!
TCP16
: Out of memory
TCP17
: Unable to create thread
TCP19
: Specified IO protocol is unsupported
TCP20
: TCP object already has a derived sink
TCP21
: An error has already occurred on this TCP object
TCP22
: Only one of port or socket may be specified
TCP23
: Invalid queue length %d. Range is 1 to 1024
TCP24
: Invalid socket descriptor %d, which is less than 0
TCP25
: Value is out of range