socket编程流程及函数详解

一、创建socket

     socket就是一个可读、可写、可控制、可关闭的文件描述符(整型数字)

// 函数原型
int socket(int domain, int type, int protocol)

//参数解释
domain:指定系统使用的协议。可以是TCP/IP协议族,也可以是UNIX协议族。分别对应的值为   
        PF_INET(IPv4)/PF_INET6(IPv6)   和   PF_UNIX。
type:  指明了服务的类型,有流服务和数据报服务,分别对应的参数为SOCK_STREAM、SOCK_UGRAM。  
        对于TCP/IP协议族来说,TCP是基于字节流的,因此传输层使用TCP,那么type要设置为. 
        SOCK_STREAM。UDP是基于数据报的协议,因此type的值对应为SOCK_UGRAM。
protocol:表示在前面两个参数的筛选下可以选择的协议,一般值为唯一的迷糊所有情况下,都将此值设置为0,表示默认协议。
return:socket调用成功返回一个socket文件描述符。失败返回-1,并设置errno。

    

二、命名socket

       创建socket时,指定了使用哪个协议,就说明指定了地址族。但是没有指定该地址族中哪个具体的socket地址。这里我们可以理解,在我们的内核中,分为TCP/IP协议族、UNIX协议族等几大协议族,每个协议族有很多的socket,每个socket由一个具体的地址唯一的标识,当然,每个socket包含了相应(TCP/IP、UNIX协议

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值