函数原型
1 | #include <sys/types.h> |
形参
- domain:告诉系统使用哪个底层协议族。(AF_INET,AF_INET6,AF_UNIX等)
- type: 指定服务类型,包括SOCK_STREAM(字节流,TCP使用)、SOCK_DGRAM(数据报服务,UDP使用)等。另外在Linux内核版本为2.6.17版本起,type还可以接收刚才的两个服务类型和下面两个重要的标志相与的值:SOCK_NONBLOCK和SOCK_CLOEXEC。它们分别表示将创建一个新的socket设为非阻塞的,以及用fork创建子进程时,在子进程中关闭该socket。
- protocol:一般设置为0。
返回值
socket系统调用成功时,返回一个socket文件描述符,失败返回-1并设置errno。
更为详细的socket系统调用可以参考其man手册