[Socket]Unix socket 运行权限问题

Unix socket 运行权限问题

hongxi.zhu 2023-11-13

问题:socket只能在当前源码目录运行,换个路径或者换个机子运行,如果是服务端,启动则会出现无法bind, 客户端则会出现无法connect

原因:unix socket是基于文件的fd方式访问,socket_path实际上是一个目录+文件(s文件),要确保这个文件有可读写权限

解决方法:在server端listen方法前修改socket_path的文件权限

c 复制代码
#include<sys/stat.h>

...
    chmod(socket_path, 0777); //make sure the socket path has a write permission

    ret = listen(server_fd, 5);
    if ( ret < 0) {
        perror("listen error");
        exit(1);
    }
...
相关推荐
2***s67214 分钟前
【Go】Go语言基础学习(Go安装配置、基础语法)
服务器·学习·golang
于齐龙2 小时前
服务器常见问题-FAQ
服务器
正在努力的小河2 小时前
Linux 块设备驱动实验
linux·运维·服务器
wadesir3 小时前
Nginx配置文件CPU优化(从零开始提升Web服务器性能)
服务器·前端·nginx
SoleMotive.3 小时前
1、nginx反向代理了解吗?怎么配置nginx服务器?nginx负载均衡的算法都有哪些? 2、后端服务器宕机了,nginx服务器是怎么检查的
服务器·nginx·负载均衡
陶庵看雪3 小时前
服务器纳管:核心概念与全流程解析
运维·服务器
xuanzdhc3 小时前
Gitgit
java·linux·运维·服务器·c++·git
laocooon5238578863 小时前
win下制作一个简单的Cmake,完成运行效果
linux·运维·服务器
北顾南栀倾寒4 小时前
[杂学笔记]HTTP与HTTPS的区别、HTTPS进行TLS握手的过程、HTTPS如何防止中间人攻击、HTTP1.1与HTTP2.0的区别、TCP的拥塞控制
linux·服务器
拾忆,想起4 小时前
Dubbo服务超时与重试策略配置指南:构建 resilient 微服务架构
服务器·网络·微服务·云原生·架构·dubbo