我试图连接到另一个进程创建的unix域套接字。 这是我正在做的。当我运行它时,该文件在文件系统上存在。无法连接到os上的unix域套接字
socketFd = socket(AF_UNIX, SOCK_STREAM, 0);
if (socketFd < 0) {
socketFd = -1;
return -1;
}
bzero(&address, sizeof(struct sockaddr_un));
address.sun_family = AF_UNIX;
size_t address_length = sizeof(address.sun_family) +
sprintf(address.sun_path, "/tmp/%s", COMMON_SOCKET);
connect(socketFd, (struct sockaddr *)&address, address_length);
我有错误,错误号为ENOENT。但在/ tmp上执行ls显示文件在那里。
我做错了什么?
工作:-) – amitp 2011-03-14 06:07:51