我是unix域套接字的新手,所以我尝试了以下客户端和服务器的beej代码:http://beej.us/guide/bgipc/html/multi/unixsock.html
服务器"工作"但客户在致电" connect"时给了我一个错误。功能。我得到了:"参数无效"错误。
任何建议?
答案 0 :(得分:0)
在创建客户端套接字时尝试memset
struct sockaddr_un sin;
memset(&sin, 0, sizeof(sin));
答案 1 :(得分:0)
我实际上遇到了与该教程相同的问题,问题在于:
len = strlen(remote.sun_path) + sizeof(remote.sun_family);
该分配缺少sun_path末尾的空字符,因此您只需在右侧的表达式中添加一个:
len = strlen(remote.sun_path) + sizeof(remote.sun_family) + 1;
在我的情况下,对连接的调用成功完成了该更改。