编程接口指南

套接字概述

自 1981 年以来,套接字已经成为 SunOS 发行版不可缺少的组成部分。套接字是可以绑定名称的通信端点。套接字具有类型和关联的进程。 套接字是为实现用于进程间通信的客户机/服务器模型而设计的,其中:

套接字使网络协议可用,并使其行为类似于 UNIX 文件。应用程序将根据需要创建套接字。套接字适用于 close(2)read(2)write(2)ioctl(2) 以及 fcntl(2) 接口。操作系统可区分文件的文件描述符和套接字的文件描述符。

套接字库

套接字接口例程位于必须与应用程序链接的库中。/usr/lib 中包含库 libsocket.so 以及其余系统服务库。libsocket.so 用于动态链接。

套接字类型

套接字类型定义对于用户可见的通信属性。Internet 系列套接字提供对 TCP/IP 传输协议的访问。对于可以通过 IPv6 和 IPv4 进行通信的套接字,由值 AF_INET6 标识 Internet 系列。 此外,还支持值 AF_INET,目的是为了与旧应用程序的源代码兼容并提供对 IPv4 的原始访问。

SunOS 环境支持四种套接字类型:

有关详细信息,请参见选择特定的协议

接口组

SunOS 5.10 平台提供两组套接字接口。提供了 BSD 套接字接口,并且从 SunOS 版本 5.7 开始,还提供了 XNS 5 (UNIX03) 套接字接口。XNS 5 接口与 BSD 接口稍有不同。

以下手册页介绍了 XNS 5 套接字接口:

相应的 3N 手册页介绍了传统的 BSD 套接字行为。此外,3N 节中还添加了以下新接口:

有关生成使用 XNS 5 (UNIX03) 套接字接口的应用程序的信息,请参见 standards(5) 手册页。