linux网络编程--本地套接字

1本地套接字和网络套接字比较

  • 本地
    • IPC ,pipe,fifommap,信号,本地套接字(domain)–C/S模型
  • 对比网络套接字:
    • int socket(int domain, int type, int protocol)
      • 参数domain:从AF_INET改变为AF_UNIX/AF_LOCAL
      • 其他参数和网络套接字基本一样。
    • int bind(int socket, const struct sockaddr* address, socklen_t address_len)
      • 参数2:sockaddr_in -->sockaddr_un
        • ser_addr.sun_family=AF_UNIX;
        • strcpy(ser_addr.sun_path,“srv.socket”)
      • len=offset(struct sockaddr_un ,sun_pth)+strlen(“srv.socket”);
      • bind()函数回调用成功,会创建一个socket,因此保证bind成功,通常我们在bind之前可以使用unlink(“ser.socket”);

2协议域domain

No.参数含义
1AF_INETIPv4
2AF_INET6IPv6
3AF_LOCALUnix域-用于本地进程间通信

3数据传输类型type

类型Type作用说明
流式套接字SOCK_STREAM提供面向连接、可靠的数据传输服务,数据按字节流、按顺序收发,保证在传输过程中无丢失、无冗余。TCP协议支持该套接字。
数据报套接字SOCK_DGRAM提供面向无连接的服务,数据收发无序,不能保证数据的准确到达。UDP协议支持该套接字。
原始套接字SOCK_RAW允许对低于传输层的协议或物理网络直接访问常用于检测新的协议

4 IP(Internet中主机的标识)

4.1分类

32位(IPV4)/128位(IPV6)

4.2 表示形式(常用点分形式)

No.协议形式e.g.
1IPv4点分十进制192.168.0.1
2IPv6点分十进制::192.168.0.1
3IPv6点分十六进制::C0A8:0001

4.3 特例

IP地址地址类型作用
0.0.0.0通配地址主机上所有IP,多网卡共用
127.0.0.1回环地址本地虚拟接口,无网卡可用,检查本地网络协议
255.255.255.255广播地址受限广播地址,当前路由器均不转发此类广播
XXX.XXX.XXX.255广播地址
XXX.XXX.255.255广播地址全子网广播
224.0.0.0~239.255.255.255组播地址详细参见组播地址分类
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值