Ice-Internet Communications Engine,是一种面向对象、跨平台、多语言的通信中间件。支持C++、Java、C#、VB、Python等,客户和服务器可以用不同的语言,可以运行在不同的操作系统和机器架构上,支持TCP/UDP。
Ice应用组成:
Ice对象——Ice对象是在本地或远地的地址空间中、能响应客户请求的实体。先由Slice定义,然后编译成特定语言版本;每个Ice对象有多个接口,支持特定操作,客户通过调用它的接口来发出请求;每个对象有唯一的对象标识。
Servants——服务器端编写的类实例,体现Ice对象行为。
代理(Proxies)——代理是Ice对象在客户端的代表,客户调用代理上的操作来获得服务端上Ice对象提供的服务。
通信器(Ice::Communicator)——通信时,服务器和客户建立一个通信器,为通信进程分配和管理资源,是双方通信的专用线路。
对象适配器(object adapter)——专用于服务器端的Ice API,把Ice run time与服务端编写的Servant类连接在一起。每个适配器绑定一个端口。