Next: Running poke in MI mode, Up: The Machine-Interface [Contents][Index]
A client application can communicate with poke through the machine-interface:
+--------+ MI +--------+ | client |------ O------| poke | +--------+ +--------+
There are two ways in which the communication can be performed: through pipes and through TCP network connections.
When using the pipe operation mode, the client application runs poke as a sub process. Data is obtained from poke reading from its standard output, and data is fed to poke writing to its standard input:
+--------+ stdin +--------+ | client |------------->| poke | +--------+ +--------+ ^ | stdout | | +-----------------------+
When using the TCP network operation mode the client uses a bidirectional socket to communicate with a running poke process. This has the advantage of allowing having poke and the client application running on different machines:
+--------+ socket (----)__ socket +--------+ | client |<-------->( network )<-------->| poke | +--------+ (-------) +--------+