我試圖連接到另一個進程創建的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