Linux 网络开发必学课程(二)深入浅出IP地址、尝鲜 select 多路复用、基于多路复用的服务端

3、深入浅出IP地址

问题:网络编程接口中一些参数的意义是什么?

        sock = socket( PF_INET, SOCK_STREAM,0 );

socket参数详解

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

        

  • socket()中的domain参数(协议族)
    • PF_INET → IPv4互联网协议族
    • PF_INET6 IPv6互联网协议族
    • PF_LOCAL 本地通信的协议族(进程间通信)
    • PF_PACKET → 底层数据收发协议族
    • PF_IPX → Novell专用协议(互联网分组交换协议)
    • 注意:不同协议中的地址表现形式可能不同,网络编程时地址类型必须和协议类型匹配

        

  • socket()中的typeprotocol参数
    • type 用于指定协议类型
      • SOCK_STREAM:流式数据TCP
      • SOCK_UGRAM:报文式数据UDP
    • protocol 用于指定协议族中符合类型的具体协议
      • domaintype几乎可以唯一确定一种协议因此,这个参数通常为0
      • 即:0 代表domaintype指定后的默认协议

关于端口号和IP地址

  • 端口号是一个2字节数据(无符号整数
    • 0-1023作为特定端口被预定义(分配给特定应用程序)
    • 一些特定的系统1024-2048也被占用,体现在bind绑定失败,所以在使用时候,尽量使用大一点的端口号
  • IP地址是一个4字节地址族(可分为5类地址)(按照网络标识/主机标识的比例

        

深入解析IP地址

  • IP地址分为
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值