1、什么是socket
网络中的一切进程都可以用“ip + 协议 + 端口”的三层模式实现。socket是一种特殊的文件,一些socket 的函数就是对其进行操作(打开,读写,关闭),网络中的进程是通过socket进行通信的。
2、一些socket基本函数
socket函数
int socket(int domain, int type, int protocol);
- domain:即协议域,又称为协议族(family)。常用的协议族有,AF_INET、AF_INET6、AF_LOCAL(或称AF_UNIX,Unix域socket)、AF_ROUTE等等。协议族决定了socket的地址类型,在通信中必须采用对应的地址,如AF_INET决定了要用ipv4地址(32位的)与端口号(16位的)的组合、AF_UNIX决定了要用一个绝对路径名作为地址。
- type:指定socket类型。常用的socket类型有,SOCK_STREAM、SOCK_DGRAM、SOCK_RAW、SOCK_PACKET、SOCK_SEQPACKET等等(socket的类型有哪些?)。
- protocol:故名思意,就是指定协议。常用的协议有,IPPROTO_TCP、IPPTOTO_UDP、IPPROTO_SCTP、IPPROTO_TIPC等,它们分别对应TCP传输协议、UDP传输协议、STCP传输协议、TIPC传输协议。
socket函数对应于普通文件的打开操作。socket()用于创建一个socket描述符(s