当前位置: 首页 > news >正文

专业网站建设空间wordpress没有路径

专业网站建设空间,wordpress没有路径,万网网站发布,上海网站建设价格表概述 什么是UNIX域套接字#xff1a; UNIX域套接字是使用套接字进行本地通信#xff0c;TCP/UDP是使用套接字进行网络通信。UNIX域套接字也有域流式套接字和域数据报套接字#xff0c;这两种形式域TCP/UDP的含义类似#xff0c;使用步骤也完全一致。 bind时绑定的结构体…概述  什么是UNIX域套接字 UNIX域套接字是使用套接字进行本地通信TCP/UDP是使用套接字进行网络通信。UNIX域套接字也有域流式套接字和域数据报套接字这两种形式域TCP/UDP的含义类似使用步骤也完全一致。 bind时绑定的结构体类型 struct sockaddr_un {sa_family_t sun_family; //协议类型char sun_path[104]; //套接字文件路径 }; 域流式套接字 域流式套接字的创建步骤与TCP创建步骤一致。 server.c代码 #include stdio.h #include string.h #include stdlib.h #include errno.h #include unistd.h #include sys/types.h #include sys/un.h #include sys/socket.h #include signal.h #include sys/wait.h#define UNIX_PATH ./UNIX void Set_SIGCHLD(void); void SIGCHLD_Handler(int sig); int main(int argc ,char** argv){int fd;struct sockaddr_un addr;//判断参数有效性if(argc ! 2){printf(param err\n);printf(%sunix path\n,argv[0]);return -1;}printf(unix path %s\n,argv[1]);//1.创建socketif((fdsocket(AF_UNIX,SOCK_STREAM,0))0){//流式UNIXperror(socket);return -1;}//2.绑定addr.sun_family AF_UNIX; //UNIXstrncpy(addr.sun_path,argv[1],sizeof(addr.sun_path)); //UNIX文件路径if(bind(fd,(struct sockaddr*)addr,sizeof(struct sockaddr_un)) -1){perror(bind);return -1;}//3.监听socketif(listen(fd,5) -1){ //允许最多接入5个客户端perror(listen);return -1;}//多进程并发pid_t pid;int newFd;struct sockaddr_un newAddr;socklen_t newAddrlen;Set_SIGCHLD();//以信号方式回收子进程while(1){//4.接受客户端链接if((newFd accept(fd,(struct sockaddr*)newAddr,newAddrlen)) 0){perror(accept);return -1;}//父进程处理接收客户端链接的问题//子进程处理与客户端交互的问题if((pidfork()) -1){perror(fork);return -1;}else if(pid 0){char buf[100] {0};close(fd);//对于子进程,socket返回的fd没有用//5.数据交互while(1){memset(buf,0,sizeof(buf));write(newFd,server,strlen(server\n));read(newFd,buf,sizeof(buf)-1);printf(read:%s\n,buf);sleep(1);}exit(0);}else{close(newFd);//对于父进程,accept返回的newFd没有用}}remove(argv[1]);close(fd);return 0; } void Set_SIGCHLD(void){struct sigaction act;act.sa_handler SIGCHLD_Handler;sigemptyset(act.sa_mask);act.sa_flags SA_RESTART;//让因为信号而终止的系统调用继续运行if(sigaction(SIGCHLD,act,NULL) ! 0){perror(sigaction);} } void SIGCHLD_Handler(int sig){int wstatus;waitpid(-1,wstatus,WNOHANG);if(WIFEXITED(wstatus)){ //判断子进程是否正常退出printf(子进程的返回值为%d\n,WEXITSTATUS(wstatus));}else{printf(子进程是否被信号结束%d\n,WIFSIGNALED(wstatus));printf(结束子进程的信号类型%d\n,WTERMSIG(wstatus));} } client.c代码 #include stdio.h #include string.h #include stdlib.h #include errno.h #include unistd.h #include sys/types.h #include sys/un.h #include sys/socket.hint main(int argc,char** argv){int fd;struct sockaddr_un addr;//判断参数有效性if(argc ! 2){printf(param err\n);printf(%sunix path\n,argv[0]);return -1;}printf(unix path %s\n,argv[1]);//1.创建socketif((fdsocket(AF_UNIX,SOCK_STREAM,0))0){//流式UNIXperror(socket);return -1;}//2.链接服务器addr.sun_family AF_UNIX; //UNIXstrncpy(addr.sun_path,argv[1],sizeof(addr.sun_path)); //UNIX文件路径if(connect(fd,(struct sockaddr*)addr,sizeof(struct sockaddr_un)) -1){perror(connect);return -1;}//3.数据交互char buf[100] {0};while(1){if(read(fd,buf,sizeof(buf)-1) 0){printf(read:%s\n,buf);write(fd,client:i read it\n,strlen(client:i read it\n));}}close(fd);return 0; } 域数据报套接字 server.c #include stdio.h #include string.h #include stdlib.h #include errno.h #include unistd.h #include sys/types.h #include sys/un.h #include sys/socket.hint main(int argc,char** argv){int fd;struct sockaddr_un addr;//判断参数有效性if(argc ! 2){printf(param err\n);printf(%sunix path\n,argv[0]);return -1;}printf(unix path %s\n,argv[1]);//1.创建socketif((fdsocket(AF_UNIX,SOCK_DGRAM,0))0){//数据报UNIXperror(socket);return -1;}//2.绑定IP、端口号addr.sun_family AF_UNIX; //UNIXstrncpy(addr.sun_path,argv[1],sizeof(addr.sun_path)); //UNIX文件路径if(bind(fd,(struct sockaddr*)addr,sizeof(struct sockaddr_un)) -1){perror(bind);return -1;}//3.数据交互char buf[100] {0};struct sockaddr_un src_addr;socklen_t src_addrlen;while(1){memset(buf,0,sizeof(buf));if(recvfrom(fd,buf,sizeof(buf)-1,0,(struct sockaddr*)src_addr,src_addrlen) 0){printf(read:%s\n,buf);} }close(fd);return 0; }client.c #include stdio.h #include string.h #include stdlib.h #include errno.h #include unistd.h #include sys/types.h #include sys/un.h #include sys/socket.hint main(int argc,char** argv){int fd;struct sockaddr_un addr;//判断参数有效性if(argc ! 2){printf(param err\n);printf(%sunix path\n,argv[0]);return -1;}printf(unix path %s\n,argv[1]);//1.创建socketif((fdsocket(AF_UNIX,SOCK_DGRAM,0))0){//数据报UNIXperror(socket);return -1;}//2.设置要发送到的服务器信息addr.sun_family AF_UNIX; //UNIXstrncpy(addr.sun_path,argv[1],sizeof(addr.sun_path)); //UNIX文件路径//3.数据交互while(1){sendto(fd,cilent,strlen(cilent),0,(struct sockaddr*)addr,sizeof(addr));sleep(1);}close(fd);return 0; }
http://www.hkea.cn/news/14343302/

相关文章:

  • 建网站什么赚钱九维品牌设计
  • 东莞品牌网站建设费用工商登记注册身份验证app
  • 网站设计制作是什么十大基本营销方式
  • 泰安手机网站建设公司网页设计师需要掌握的领域
  • 沈阳核工业建设工程总公司网站展馆展厅设计报价
  • 玉山电商网站建设seo优化的内容有哪些
  • 司法公开网站建设情况汇报小说网站编辑怎么做
  • 在百度怎么做网站和推广沈阳网站开发简维
  • 深圳工信部网站wordpress 分享到朋友圈
  • 泗泾做网站公司用网站做平台
  • 企业网站官网模板网站首页制作
  • 网站建设毕业设计综述百度识图软件
  • 合江做网站软装设计专业
  • 好的网站建设启示完整的软件开发流程
  • seo工具助力集群式网站升级连云港网站建设 连云港网站制作
  • 营销型网站如何制作一个网站多大
  • 湖南网站建设设计网站开发手机自适应
  • 网站域名收费吗asp网站模板安装
  • 烟台高端网站开发微营销软件免费下载
  • 网站建设调研报告高仿微博wordpress
  • 网站色彩搭配营销型网站建设的五力原则
  • 免费注册网站怎么做链接网站开发的账务处理
  • 鞍山网站制作三牛网络推广
  • 公司网站维护主要做什么深圳电商页面设计那家好
  • 网站的视频网站seo策划方案案例分析
  • 营销型网站seo公司网站域名如何申请
  • 网站搭建策划书自己做网站的网址
  • 我的世界是怎么做的视频网站旅游做攻略网站好
  • 无锡网站制作电话多少深圳市龙华区民治街道
  • 代码编辑器做热点什么网站好网站开发主要技术路线