1.1.6 网络支持

Tilcon实现了一个强大的channel对象,该对象为应用程序和网络架构内建多种网络支持方式。channel对象本质上是一个封装了传输机制的消息邮箱,消息进入或离开应用程序都需要通过它来实现。当前实现的传输机制包括TCP/IP协议和进程间通信IPC(包括管道、消息队列、信号、共享内存、套接字),IPC用于Tilcon线程间通信或同一主机内的任务间通信。Tilcon支持的IPC通信主要有管道和共享内存两种。

1.管道(VxWorks) 管道用于支持GUI引擎与远程客户端之间的通信(如图1-1)。

图1-1 GUI引擎与远程客户端通信

C1、C2和GUI引擎不在同一台主机上,它们之间必须通过通信线缆相连。现在,Tilcon提供了TCP/IP连接内建支持,就可以考虑增加对其他网络协议的支持。

2.共享内存(Windows NT,WinCE) 一个Tilcon应用可以建立与多个GUI引擎的连接(如图1-2),最大默认连接数为64,开发者可以通过修改配置文件来设置最大连接数限制。GUI引擎可以部署在不同的主机上,客户端Tilcon应用可以与其中一个GUI引擎部署在同一台主机上。

图1-2 Tilcon应用与GUI引擎通信

共享内存机制为Tilcon GUI应用(简称TGA)与其他应用进行通信提供支持。在Windows NT和WinCE平台上,应用与应用之间目前只能使用IPC进行通信,原因如下:

■ 暂不支持TCP/IP通信机制

■ 线程间不能共享channel信道

■ channel信道使用SRR(Send > Receive > Reply)实现,专门针对实时应用

■ Tilcon channel是模块化标准组件,是为适应附加协议而专门设计的

■ 运行时之间的信息交互,应该通过调用API命令将数据发送到GUI图形引擎来实现