1、函数原型
intsocket(intdomine,int type,intprotocol );
1.1 参数
这三个参数都是int类型,但各自都有含义。 以下对这三个参数进行分析。
(1) int domin:是协议域,也称为协议族。 协议族确定套接字的地址类型,af_inet(ipv4 )、af_inet(ipv4 )、AF_LOCAL )或AF_Unix、UNIX域socket )、af,
AF_INET的定义是#define AF_INET 2,因此这里的参数都是int类型
2 ) int type:是套接字类型,主要是sock_stream(TCP连接建立)、sock _ dgram (UDP建立)、SOCK_RAW;
sock _ stream (建立TCP连接) :提供面向连接的可靠数据传输服务。 数据被视为字节流,没有长度限制。 例如,FTP协议就采用了这样的东西。
sock _ dgram (建立UDP ) :提供没有连接的数据传输服务,并且不保证可靠性。
SOCK_RAW :此接口提供对低层协议(如IP、ICMP等)的直接访问。
(3) int protocol:指定协议。 常用的协议是IPPROTO_TCP、IPPTOTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等,分别是TCP传送协议、UDP传送协议、STCP传送协议通常设定为0。
http://www.Sina.com/http://www.Sina.com /
注意
#include sys/types.h
#include sys/socket.h
:并不是上面的type和protocol可以随意组合的,如SOCK_STREAM不可以跟IPPROTO_UDP组合。当protocol为0时,会自动选择type类型对应的默认协议。
成功:返回套接字描述符(套接字的索引)
失败: -返回1
2、所在头文件
返回套接字描述符。 套接字描述符对应于套接字的索引号,后续操作将根据该索引号查找套接字并对其进行操作。 类似于文件描述符。