Unix域协议

Unix域协议并不是一个实际的协议族,它只是在同一主机上进行客户-服务器通信时,使用
与在不同主机上进行客户-服务器通信时使用的相同的API(套接口或XTI)的一种方法。 
 
Unix域提供了两种类型的套接口:字节流套接口(与TCP类型)和数据报套接口(与UDP类似)。
 
使用Unix域有哪些好处呢:
首先,速度上Unix域套接口的速度通常是TCP套接口的两倍。
其次,Unix域套接口可以用来在同一主机上的不同进程间传递描述字。
最后,Unix域套接口的较新的实现中可以向服务器提供客户的凭证,这能提供附加的安全检查。
 
 
注意:Unix域中用来标识客户和服务器的协议地址是通常的文件系统中的路径名。
 
 
 Unix域套接口地址结构
 
struct sockaddr_un
{
    __SOCKADDR_COMMON (sun_);
    char sun_path[108];         /* Path name.  */
};
通常是定义在<sys/un.h>中。
 
__SOCKADDR_COMMON是定义在/usr/include/bits/sockaddr.h中 
#define __SOCKADDR_COMMON(sa_prefix) \
  sa_family_t sa_prefix##family
 
sun_path数组中存放的路径名必须是以一个空字符结尾。
 
在不同的系统上sun_path数组的长度不一定都是108,因此在使用前首先要用sizeof获得sun_path的长度,
然后再存放合适长度的路径名。



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值