我是新手,只是在Linux下我的第一步.
所以我有一些关于套接字的任务.我正在关注指南,尤其是 this指南.代码示例不起作用.我从这开始:
所以我有一些关于套接字的任务.我正在关注指南,尤其是 this指南.代码示例不起作用.我从这开始:
#include <stdio.h> #include <stdlib.h> #include <errno.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <sys/un.h> #define SOCK_PATH "echo_socket" int main(void) { int s,s2,t,len; struct sockaddr_un local,remote; char str[100]; if ((s = socket(AF_UNIX,SOCK_STREAM,0)) == -1) { perror("socket"); exit(1); } local.sun_family = AF_UNIX; strcpy(local.sun_path,SOCK_PATH); unlink(local.sun_path); len = strlen(local.sun_path) + sizeof(local.sun_family); if (bind(s,(struct sockaddr *)&local,len) == -1) { perror("bind"); exit(1); } return 0; }
我已经想出要编译它(Code :: Blocks)必须还有一个包含:
#include <unistd.h>
但成功运行后,我收到消息“Bind:Operation not permitted”.哪里不对?我试图在root下运行它仍然无法正常工作.