以下函数的头文件:
#incldue<netinet/in.h>
#include<arpa/inet.h>
#include<sys/socket.h>
#include<sys/types>
1.socket()
功能:创建socket文件描述符
int socket(int domain,int type,int protocol)
参数说明:
(1)domain(family):表示套接字的通信域,不同的取值决定了socket的地址类型,其一般取值如下:
AF_INET:IPV4因特网域
AF_INET6:IPV6因特网域
AF_UNIX:UNIX域
AF_ROUTE:路由套接字
(2)type:是socket的类型,常用如下:
SOCK_STREAM:有序、可靠、双向的面向连接--->字节流套接字,例如TCP
SOCK_DGRAM:长度固定的、无连接的不可靠的--->数据报套接字,例如UDP
SOCK_RAW:原始套接字
(3)protocol:指定协议,取值如下:
0:表示选择type类型对应的默认协议
IPPROROTO_TCP:TCP传输协议
IPPROTO_UDP:UDP传输协议
IPPRPTO_SCTP:SCTP传输协议
IPPROTO_TIPC:TIPC传输协议
ps:此选项一般都是设为0,让操作系统根据第二个参数的类型去自动匹配协议
返回值:
成功:返回一个整数,是socket的文件描述符
失败:返回-1
ps:此函数可用于TCP和UDP通信中的服务器与客户端
2.bind()
调用socket函数创建套接字描述符时,该套接字描述符时存储在它的协议蔟空间中的,是没有具体的地址的,要使它一个地址相关联,可以调用bind函数使其与地址相关联
功能:绑定端口号(一般都是服务器进行绑定,例如TCP/UDP的服务器)
int bind</