编程接口指南

什么是 XTI 和 TLI?


注 –

本章中介绍的接口具有多线程安全性。这意味着可以在多线程应用程序中随意使用包含 XTI/TLI 接口调用的应用程序。由于这些接口调用不可重复执行,因此它们不提供线性可伸缩性。



注意 – 注意 –

在异步环境中,XTI/TLI 接口行为尚未有明确的规定。请不要从信号处理程序例程使用这些接口。


TLI 是随 AT&T System V Release 3 在 1986 年引入的。TLI 当时提供一个传输层接口 API。ISO 传输服务定义提供了 TLI 所基于的模型。现在,TLI 提供了 OSI 传输层和会话层之间的 API。TLI 接口在 UNIX 的 AT&T System V Release 4 版本中得到了进一步发展,并在 SunOS 5.6 操作系统接口中可用。

XTI 接口由 TLI 接口演变而来,代表该系列接口的未来方向。使用 XTI 与使用 TLI 接口的应用程序相兼容,因此无需立即将TLI 应用程序移植到XTI。新应用程序可以使用 XTI 接口,而且可以在必要时将较旧的应用程序移植到 XTI。

TLI 实现为应用程序链接到的库 (libnsl) 中的一组接口调用。XTI 应用程序是使用 c89 前端编译的,并且必须与 xnet 库 (libxnet) 链接。有关使用 XTI 进行编译的其他信息,请参见 standards(5) 手册页。


注 –

使用 XTI 接口的应用程序使用 xti.h 头文件,而使用 TLI 接口的应用程序包含 tiuser.h 头文件。


与第 4 章中介绍的某些其他接口和机制一起使用时,XTI/TLI 代码可以独立于当前的传输提供器。SunOS 5 产品将某些传输提供器(例如,TCP)作为基本操作系统的一部分。传输提供器执行服务,而传输用户请求服务。传输用户向传输提供器发出服务请求,例如,通过 TCP 和 UDP 连接传送数据的请求。

通过利用以下两个组件,XTI/TLI 还可以用于独立于传输的编程: