socket(3SOCKET) 调用创建指定系列和指定类型的套接字。
s = socket(family, type, protocol);
如果未指定协议,则系统将选择支持所需套接字类型的协议。将返回套接字句柄。套接字句柄即为文件描述符。
family 由 sys/socket.h 中定义的一个常量指定。名为 AF_suite 的常量指定要在解释名称时使用的地址格式:
Apple Computer Inc. Appletalk 网络
Internet IPv6 和 IPv4 系列
仅 Internet IPv4 系列
Xerox Corporation PUP internet
UNIX 文件系统
套接字类型在 sys/socket.h 中定义。AF_INET6、AF_INET 和 AF_UNIX 支持 SOCK_STREAM、SOCK_DGRAM 或 SOCK_RAW 这些类型。以下示例创建 Internet 系列的流套接字:
s = socket(AF_INET6, SOCK_STREAM, 0);
此调用生成流套接字。TCP 协议提供底层通信。在大多数情况下,将 protocol 参数设置为缺省值 0。可以指定缺省协议之外的其他协议,如高级套接字主题中所述。