文章目录
套接字相关接口
(一)创建套接字socket
- socket系统调用创建一个套接字并返回一个文件描述符,使用该文件描述符可以访问该套接字。
- 头文件:
sys/types.h
sys/socket.h
int socket(int domain, int type, int protocol);
- domain : 指定协议族
domain协议族 | 说明 |
---|---|
AF_UNIX |
UNIX域协议(文件系统套接字) |
AF_INET |
ARPA因特网协议(UNIX网络套接字) |
AF_ISO | ISO标准协议 |
AF_NS | 施乐(Xerox)网络系统协议 |
AF_IPX | Novell IPX协议 |
AF_APPLETALK | Appletalk DDS |
-
type : 取值包括
SOCK_STREAM
、SOCK_DGRAM
- SOCK_STREAM有序可靠的面向连接的双向字节流、对于AF_INET域套接字来说,默认是通过TCP连接进行双向传递,TCP协议提供的分片和重组长消息,重传网络中丢失的数据
- SOCK_DGRAM数据报服务,发送最大长度(固定)的消息,无法保证乱序的情况,对于AF_INET域来说,默认是UDP数据报提供
-
protocol : 一般由套接字domain协议族和套接字type类型来与决定
- 0为默认协议
-
返回值:成功返回一个文件描述符,失败-1
(二)套接字地址
- AF_UNIX域套接字地址结构体
头文件sys/un.h
struct sockaddr_un
{
sa_family_t sum_family; //AF_UNIX&#