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

directadmin网站储存目录win7优化大师免安装版

directadmin网站储存目录,win7优化大师免安装版,wordpress ajax 提交评论,企业网站的设计论文本文将给出进程间传递文件描述符的代码,代码篇幅不长,我在其中添加了必要的注释。可是想要看懂这些代码依旧并不容易。如果大家在阅读代码时遇到困难,可以根据情况阅读下面几篇文章: 高级IO函数之readv和writev-CSDN博客高级IO函…

        本文将给出进程间传递文件描述符的代码,代码篇幅不长,我在其中添加了必要的注释。可是想要看懂这些代码依旧并不容易。如果大家在阅读代码时遇到困难,可以根据情况阅读下面几篇文章:

  1. 高级IO函数之readv和writev-CSDN博客
  2. 高级IO函数之recvmsg和sendmsg-CSDN博客
  3. 进程间通信之管道-CSDN博客

示例代码:

#include <sys/socket.h>
#include <fcntl.h>
#include <stdio.h>
#include <unistd.h>
#include <stdlib.h>
#include <assert.h>
#include <string.h>static const int CONTROL_LEN = CMSG_LEN( sizeof(int) );// 计算 msg.msg_controllen = CONTROL_LEN;的宏void send_fd( int fd, int fd_to_send )
{struct iovec iov[1]; // 关于该结构体大家可以看:高级IO函数之readv和writevstruct msghdr msg;char buf[0];iov[0].iov_base = buf;iov[0].iov_len = 1;msg.msg_name    = NULL;// 关于该结构大家可以看:高级IO函数之recvmsg和sendmsgmsg.msg_namelen = 0;msg.msg_iov     = iov;msg.msg_iovlen = 1;cmsghdr cm;cm.cmsg_len = CONTROL_LEN;cm.cmsg_level = SOL_SOCKET;cm.cmsg_type = SCM_RIGHTS;*(int *)CMSG_DATA( &cm ) = fd_to_send;msg.msg_control = &cm;msg.msg_controllen = CONTROL_LEN;sendmsg( fd, &msg, 0 );
}int recv_fd( int fd )
{struct iovec iov[1];struct msghdr msg;char buf[0];iov[0].iov_base = buf;iov[0].iov_len = 1;msg.msg_name    = NULL;msg.msg_namelen = 0;msg.msg_iov     = iov;msg.msg_iovlen = 1;cmsghdr cm;msg.msg_control = &cm;msg.msg_controllen = CONTROL_LEN;recvmsg( fd, &msg, 0 );int fd_to_read = *(int *)CMSG_DATA( &cm );// 取文件描述符数据的宏return fd_to_read;
}int main()
{int pipefd[2];int fd_to_pass = 0;int ret = socketpair( PF_UNIX, SOCK_DGRAM, 0, pipefd );// 创建两个相互通信的域间套接字assert( ret != -1 );pid_t pid = fork();assert( pid >= 0 );if ( pid == 0 ){close( pipefd[0] );fd_to_pass = open( "test.txt", O_RDWR, 0666 );send_fd( pipefd[1], ( fd_to_pass > 0 ) ? fd_to_pass : 0 );// 操作系统自动传递引用计数close( fd_to_pass );exit( 0 );}close( pipefd[1] );fd_to_pass = recv_fd( pipefd[0] );char buf[1024];memset( buf, '\0', 1024 );read( fd_to_pass, buf, 1024 );printf( "I got fd %d and data %s\n", fd_to_pass, buf );close( fd_to_pass );
}
http://www.dtcms.com/wzjs/117645.html

相关文章:

  • c 网站做微信收款功能百度快照怎么没有了
  • 攸县政府门户网站企业线上培训平台
  • 网站开发质保it学校培训学校哪个好
  • 做网站登录页面的论文域名申请
  • 开源博客wordpress微信搜一搜seo优化
  • 卓拙科技做网站吗新手小白怎么做跨境电商
  • 网站建设公司网络服务百度竞价推广登录入口
  • 知名网站定制报价小程序开发文档
  • 精美旅游网站模板链接推广平台
  • 广州天河区核酸检测点seo策略主要包括
  • 玮科网站建设营销课程培训
  • 网站页面制作软件seo网站编辑优化招聘
  • html怎么做查询网站高质量关键词搜索排名
  • 如何做亚马逊国外网站前端优化
  • 网站开发工程师怎么样微信营销管理软件
  • 网站开发语音域名查询ip网站
  • 开发邦app温州seo招聘
  • 建设网站主题百度关键词首页排名怎么上
  • 电子产品采购平台宁波seo费用
  • 独立网站开发成人职业技术培训学校
  • 网络 网站建设电商运营培训班多少钱
  • 济南网站改版手机关键词seo排名优化
  • 免费视频网站素材seo外链查询工具
  • 淄博周村专业网站建设公司免费找客源软件
  • 山东莱钢建设有限公司网站深圳靠谱网站建设公司
  • 交互式手机网站央视新闻最新消息今天
  • 新的网站平台如何做地推营销技巧在线完整免费观看
  • 怎样做网站上的语种链接广告策划
  • 微信 分享网站开发软文网站有哪些
  • 西安小程序专业开发公司seochinaz查询