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

directadmin网站储存目录优化培训方式

directadmin网站储存目录,优化培训方式,泉州高端模板建站,优势网网站本文将给出进程间传递文件描述符的代码,代码篇幅不长,我在其中添加了必要的注释。可是想要看懂这些代码依旧并不容易。如果大家在阅读代码时遇到困难,可以根据情况阅读下面几篇文章: 高级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/453244.html

相关文章:

  • wordpress下载管理员数字营销服务商seo
  • 湛江网站的建设如何创建个人网站免费
  • 手机咋做网站文案发布平台
  • 建设工程招投标网最专业的网站百度账号安全中心
  • 日文网站建设网络推广怎么做方案
  • 河南建设监理协会网站宁德市古田县
  • 网站上线前需要做什么微信推广方式有哪些
  • 一键抓取的网站怎么做seo优化评论
  • 如何用nat123做网站网站优化哪个公司好
  • 网站开发兼职合同宁波seo在线优化公司
  • 闲鱼做网站靠谱吗百度网址提交入口
  • 网站服务器维护方案郑州网络营销顾问
  • 肇庆网站制作百度网盘资源
  • 查网站二级域名通州优化公司
  • 坂田网站建设推广公司百度推广登录账号首页
  • 手机wap网页设计网站seo怎么做
  • 旅游的网站怎么做竞价广告
  • 济南品牌营销型网站建设网站制作厂家有哪些
  • 网站建设自学想做电商怎么入手
  • 人大门户网站建设情况百度推广方法
  • 长沙企业建站销售电话一个完整的产品运营方案
  • 网页设计师的发展前景邯郸seo排名
  • 网站logo在哪里修改竞价托管如何托管
  • 做免费小说网站怎样赚钱网站快速排名服务
  • 网页搜索快捷键是ctrl加什么整站seo优化
  • 卖汽车的网站怎么做的河南关键词优化搜索
  • 政府网站 制度建设网站seo教程
  • ps酒店网站模板seo销售是做什么的
  • 各类手机网站建设微信推广
  • 广州seo建站外链发布平台有哪些