【问题标题】:Error: Socket operation on non-socket错误:非套接字上的套接字操作
【发布时间】:2013-11-23 19:45:37
【问题描述】:
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("Error") 处收到此错误;我包含了 socket.h

【问题讨论】:

  • =if 声明中需要为==

标签: c linux shell sockets unix


【解决方案1】:

这条线是错误的。这不会为 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);
}

【讨论】:

    猜你喜欢
    • 2017-06-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-21
    • 2014-09-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多