编程接口指南

创建套接字

socket(3SOCKET) 调用创建指定系列和指定类型的套接字。

s = socket(family, type, protocol);

如果未指定协议,则系统将选择支持所需套接字类型的协议。将返回套接字句柄。套接字句柄即为文件描述符。

familysys/socket.h 中定义的一个常量指定。名为 AF_suite 的常量指定要在解释名称时使用的地址格式:

AF_APPLETALK

Apple Computer Inc. Appletalk 网络

AF_INET6

Internet IPv6 和 IPv4 系列

AF_INET

仅 Internet IPv4 系列

AF_PUP

Xerox Corporation PUP internet

AF_UNIX

UNIX 文件系统

套接字类型在 sys/socket.h 中定义。AF_INET6AF_INETAF_UNIX 支持 SOCK_STREAMSOCK_DGRAMSOCK_RAW 这些类型。以下示例创建 Internet 系列的流套接字:

s = socket(AF_INET6, SOCK_STREAM, 0);

此调用生成流套接字。TCP 协议提供底层通信。在大多数情况下,将 protocol 参数设置为缺省值 0。可以指定缺省协议之外的其他协议,如高级套接字主题中所述。