Introduction

## 10.1 Introduction

The ECLiPSe remote interface protocol is used to build a remote interface between ECLiPSe and some programming language. A program written in that programming language can interact and communicate with a separate ECLiPSe process via the remote interface. The Tcl remote interface (chapter 6) is an example of such an interface. This chapter describes the protocol, so that remote interfaces to other programming languages can be built.
The protocol is designed to allow the implementer to build an interface that is compatible with the embedding interface of the same language. This should allow the same code (in both ECLiPSe and the other language) to be used in both interfaces. On the ECLiPSe side, the concept of peers is used to unify the remote and embedding interfaces.
Another feature of the remote interface is that on the ECLiPSe side, the interface is independent of the programming language that is being interfaced to. It should be possible to write ECLiPSe code with the interface (e.g. for a GUI) and change the remote code without needing to rewrite the code on the ECLiPSe side.
Briefly, a socket connection is established between the remote program and an ECLiPSe process. The processes exchange messages in the EXDR (see chapter 9) format according to the protocol. This allows the communication to be platform independent, and the ECLiPSe and remote processes can be located on any two machines which can establish socket connections.