错误:非套接字上的套接字操作

时间:2013-11-23 19:45:37

标签: c linux shell sockets unix

if(serverSocket=socket(AF_UNIX,SOCK_STREAM,0) < 0) {
     perror("Falhou a Ligacao ao socket");
     exit(1);
}

bzero((char *)&serv_addr, sizeof(serv_addr));
serv_addr.sun_family = AF_UNIX;
strcpy(serv_addr.sun_path, UNIXSTR_PATH);
servlen = strlen(serv_addr.sun_path) + sizeof(serv_addr.sun_family);
if (bind(serverSocket, (struct sockaddr *) &serv_addr, servlen) < 0){ 
     perror("error");
     exit(1);
}

任何想法为什么我得到这个错误 - “perror(”错误“);我得到了socket.h

1 个答案:

答案 0 :(得分:3)

这条线错了。这不会为serverSocket分配返回值。

if(serverSocket=socket(AF_UNIX,SOCK_STREAM,0) < 0) 

只需将括号更改为

即可
if ((serverSocket = socket(AF_UNIX, SOCK_STREAM, 0)) < 0)
{
    perror("Falhou a Ligacao ao socket");
    exit(1);
}