socket函数

来源:互联网 发布:信息技术编程 编辑:程序博客网 时间:2024/06/06 01:24
应用程序调用socket函数来创建一个能够进行网络通信的套接字:

 

int socket(int domain,int type,int protocol);

 

其中“int domain”参数表示套接字要使用的协议簇,协议簇的在“linux/socket.h”里有详细定义,常用的协议簇:

·             AF_UNIX(本机通信)

·             AF_INETTCP/IP – IPv4

·             AF_INET6TCP/IP – IPv6

其中“type”参数指的是套接字类型,常用的类型有:

·             SOCK_STREAMTCP流)

·             SOCK_DGRAMUDP数据报)

·             SOCK_RAW(原始套接字)

最后一个“protocol”一般设置为“0”,也就是当确定套接字使用的协议簇和类型时,这个参数的值就为0,但是有时候创建原始套接字时,并不知道要使用的协议簇和类型,也就是domain参数未知情况下,这时protocol这个参数就起作用了,它可以确定协议的种类。

socket是一个函数,那么它也有返回值,当套接字创建成功时,返回套接字,失败返回“-1”,错误代码则写入“errno”中。