欢迎使用CSDN-markdown编辑器
来源:互联网 发布:windows rt能换系统吗 编辑:程序博客网 时间:2024/04/29 03:48
unix domain socket通信
1.unix domain socket的一个黑魔法
在使用unix domain socket通信的时候,需要指定一个文件名,但是直接使用一个知名文件的话,则会有一个问题,句柄泄露,可能因为程序异常退出,可能受到信号被杀死等。 这个时候,使用一个黑魔法,即在指定文件名的时候,第一个字节赋值为'\0',从第二个开始赋值,则能创建出来一个虚拟的文件,文件系统中没有与之对应的尸体文件名,如下: //server sockaddr_un addr; addr.sun_path[0] = '\0'; snprintf(&addr.sun_path[1], sizeof(addr.sun_path)-2, path); ... bind(); ... 与之对应,client代码如下 sockaddr_un addr; addr.sun_path[0] = '\0'; snprintf(&addr.sun_path[1], sizeof(addr.sun_path)-2, path); ... connect(); ...这样在文件系统中是没有这个文件存在的,但是却又可以成功。参考:man 7 unix
2.glibc和kernel与之对应的处理
这个暂时不做了解,有空再说。。。涉及 glibc 系统调用 文件系统
0 0
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- 欢迎使用CSDN-markdown编辑器
- oj1948: C语言实验——交换两个整数的值(顺序结构)
- PAT 1019 数字黑洞
- 高数Umaru系列(3)——喵星人
- 阿里云centos开启ipv6支持
- 安装ubuntu14.04遇到网卡驱动不成功问题
- 欢迎使用CSDN-markdown编辑器
- Javascript定义类(class)的三种方法
- poj3292——Semi-prime H-numbers(数论)
- Chrome Download
- 为何线程有PID?
- 【Objective-C】关于手动计数内存引用(MRC)
- 深度学习论文笔记:Faster R-CNN
- 张高兴的 UWP 开发笔记:用 Thumb 控件仿制一个可拖动 Button
- 异常处理01