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

郑州做网站_郑州免费建站温州网站建设模板总部

郑州做网站_郑州免费建站,温州网站建设模板总部,建设工程消防设计备案哪个网站,discuz下载说到什么是域协议就会出现这么个解释#xff1a; UNIX域协议并不是一个实际的协议族#xff0c;而是在单个主机上执行客户/服务器通信的一种方法#xff0c;所用API与在不同主机上执行客户/服务器通信所使用的API相同。UNIX域协议可以视为IPC方法之一。 我们白话解释下Unix域… 说到什么是域协议就会出现这么个解释 UNIX域协议并不是一个实际的协议族而是在单个主机上执行客户/服务器通信的一种方法所用API与在不同主机上执行客户/服务器通信所使用的API相同。UNIX域协议可以视为IPC方法之一。   我们白话解释下Unix域协议在什么情况下使用和怎么使用 Unix域协议主要用在同一台机子的不同进程之间传递套接字。为什么不用TCP或者UDP套接字呢一是因为快。源自Berkeley的实现中Unix域套接字往往比通信两端位于同一个主机的TCP套接字快出一倍。二是因为安全。Unix套接字能提供额外的安全检查措施。 注意Unix域协议表示协议地址的是路径名而不是Inet域的IP地址和端口号 socket地址结构 #includesys/un.h struct sockaddr_un {sa_family_t sun_family; /*AF_LOCAL*/char sun_path[104]; /*null-terminated pathname*/ }; 至于他们的程序和TCPsocket没有什么区别 服务器端 Unix_Domain_ser.c #include stdio.h #include sys/types.h #include sys/socket.h #include netinet/in.h #include string.h #include unistd.h #include sys/un.h #include sys/select.hint main(int argc, char *argv[]) {int listenfd1;struct sockaddr_un serv_addr1;//这里使用的AF_LOCAL代表是Unix域协议listenfd1 socket(AF_LOCAL, SOCK_STREAM, 0); bzero(serv_addr1, sizeof(struct sockaddr_un));serv_addr1.sun_family AF_LOCAL;strncpy(serv_addr1.sun_path, argv[1], sizeof(serv_addr1.sun_path)-1);bind(listenfd1, (struct sockaddr *)serv_addr1, SUN_LEN(serv_addr1));listen(listenfd1, 5); int clifd; char buffer[256];//如果是listenfd1 获取消息clifd accept(listenfd1, NULL, NULL);bzero(buffer, 256);read(clifd, buffer, 255);printf(Listenfd1 Message is:%s\r\n, buffer);close(listenfd1);return 0;} 客户端 Unix_Domain_cli.c #include stdio.h #include sys/socket.h #include sys/types.h #include netinet/in.h #include string.h #include unistd.h #include sys/un.hint main(int argc, char* argv[]) {int socketfd, n;socketfd socket(AF_LOCAL, SOCK_STREAM, 0); struct sockaddr_un serv_addr;bzero((char *)serv_addr, sizeof(serv_addr));serv_addr.sun_family AF_LOCAL;strncpy(serv_addr.sun_path, argv[1], sizeof(struct sockaddr_un));connect(socketfd,(struct sockaddr *) serv_addr, SUN_LEN(serv_addr));write(socketfd, client message, 14);return 0;} 服务端命令 客户端命令 参考文档 http://memorymyann.iteye.com/blog/649619 http://hi.baidu.com/wangjianzhong1981/blog/item/d91d1c1073b2e409203f2e4d.html socketpair函数 #include sys/socket.h int socketpair(int family, int type, int protocol, int sockfd[2]); 1 socketpair创建两个socket并连接起来只用于Unix域 2 family参数必须为AF_LOCAL,protocol参数必须为0, socketpair函数主要用在什么地方呢当父进程fork出一个子进程的时候两个进程需要使用Unix套接字进行进程间通信那么socketpair就可以使用到了 发现说什么还是不如写代码实在 Unix_Domain_Sockpair.c #include stdio.h #include sys/types.h #include sys/socket.h #include netinet/in.h #include string.h #include unistd.h #include sys/un.hint main(int argc, char *argv[]) {int sockets[2];char buffer[1024];socketpair(AF_LOCAL, SOCK_STREAM, 0, sockets);int child;child fork();if(child) { //父进程close(sockets[0]);read(sockets[1], buffer, 255);printf(parent read-- %s\r\n, buffer);close(sockets[1]);} else { //子进程close(sockets[1]);write(sockets[0], Message, sizeof(Message));printf(child write-- Message\r\n);close(sockets[0]);} return 0;} 执行程序 nginx中的socketpair使用 在nginx_process.c中你会看到这个 这里得到几个信息 1 Solaris 9 没有AF_LOCAL这个属性所以使用AF_UNIX属性来代替 2 nginx每个worker进程之间都有channel通道通道就是使用socketpair创建的
http://www.zqtcl.cn/news/739830/

相关文章:

  • 在哪个网站做旅游攻略好做推广便宜的网站
  • 濮阳做网站推广做网站为什么要建站点
  • 摄影网站建设需求分析wordpress一键关注
  • 做学历的网站什么是短视频营销
  • 网站线上推广方式广告海外推广
  • 免费网站注册申请海口网站seo
  • ppt免费下载雷锋网站WordPress5分钟建站
  • 商店网站制作做签名照的网站
  • 自己制作一个网站广州自助网站制作
  • 个人网站吗wordpress超精简主题
  • 手机版免费申请微网站wordpress 跳转链接
  • 网站建设与管理好吗广州白云最新消息
  • 织梦动漫网站模版wordpress 页面文章列表
  • 东莞做网站沃德长沙市网站开发
  • 哪些网站做的最好厦门网站建设网站
  • 网站安全事件应急处置机制建设类似百度的网站
  • 内蒙古知名网站建设网站测速工具
  • 怎样建立网站赚钱怎么登录住建局官网
  • 建站自学网页转向功能网站
  • 网站都有什么费用做酒店网站有哪些目录
  • 本地郑州网站建设东莞网站优化中易
  • 动态域名可以建网站德州公司做网站
  • 深圳建设银行官方网站wordpress 添加qq
  • 甘肃第九建设集团公司网站网站对企业的好处
  • 论坛网站建设规划书公司网站建设与设计制作
  • 做棋牌游戏网站犯法吗如何进行搜索引擎的优化
  • 常见的网站首页布局有哪几种陈光锋网站运营推广新动向
  • 手机网站活动策划方案开一个设计公司
  • 宝塔建设网站教程visual studio 2010 网站开发教程
  • 做网站购买服务器做谷歌网站使用什么统计代码吗