linux – 从int到socklen的无效转换
发布时间:2020-12-14 02:11:39 所属栏目:Linux 来源:网络整理
导读:下面是我的 Linux代码. 我正在实现客户端/服务器应用程序,下面是服务器.cpp文件. int main(){ int serverFd,clientFd,serverLen,clientLen;struct sockaddr_un serverAddress;/* Server address */struct sockaddr_un clientAddress; /* Client address */st
下面是我的
Linux代码.
我正在实现客户端/服务器应用程序,下面是服务器.cpp文件. int main() { int serverFd,clientFd,serverLen,clientLen; struct sockaddr_un serverAddress;/* Server address */ struct sockaddr_un clientAddress; /* Client address */ struct sockaddr* serverSockAddrPtr; /* Ptr to server address */ struct sockaddr* clientSockAddrPtr; /* Ptr to client address */ /* Ignore death-of-child signals to prevent zombies */ signal (SIGCHLD,SIG_IGN); serverSockAddrPtr = (struct sockaddr*) &serverAddress; serverLen = sizeof (serverAddress); clientSockAddrPtr = (struct sockaddr*) &clientAddress; clientLen = sizeof (clientAddress); /* Create a socket,bidirectional,default protocol */ serverFd = socket (AF_LOCAL,SOCK_STREAM,DEFAULT_PROTOCOL); serverAddress.sun_family = AF_LOCAL; /* Set domain type */ strcpy (serverAddress.sun_path,"css"); /* Set name */ unlink ("css"); /* Remove file if it already exists */ bind (serverFd,serverSockAddrPtr,serverLen); /* Create file */ listen (serverFd,5); /* Maximum pending connection length */ readData(); while (1) /* Loop forever */ { /* Accept a client connection */ clientFd = accept (serverFd,clientSockAddrPtr,&clientLen); if (fork () == 0) /* Create child to send recipe */ { printf (""); printf ("nRunner server program. . .nn"); printf ("Country Directory Server Started!n"); close (clientFd); /* Close the socket */ exit (/* EXIT_SUCCESS */ 0); /* Terminate */ } else close (clientFd); /* Close the client descriptor */ } } 当我尝试编译它时会显示一条错误消息. server.cpp:237:67: error: invalid conversion from ‘int*’ to ‘socklen_t*’ server.cpp:237:67: error: initializing argument 3 of ‘int accept(int,sockaddr*,socklen_t*)’ 它指向这一行 clientFd = accept (serverFd,&clientLen); 我其实不知道如何解决这个问题. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |