无法连接uds客户端套接字

时间:2015-12-25 10:32:44

标签: sockets client connect unix-socket

我是unix域套接字的新手,所以我尝试了以下客户端和服务器的beej代码:http://beej.us/guide/bgipc/html/multi/unixsock.html

服务器"工作"但客户在致电" connect"时给了我一个错误。功能。我得到了:"参数无效"错误。

任何建议?

2 个答案:

答案 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;

在我的情况下,对连接的调用成功完成了该更改。