当前位置:  技术问答>linux和unix

关于子进程间共享套接字描述符的问题?

    来源: 互联网  发布时间:2015-12-31

    本文导语:  我的程序功能是为多台主机转发消息。当其他主机与我连接时为这台主机分配一个进程,该进程处理我的程序与这台主机间的通信,同时我将这个与这台主机通信的套接字描述符以及这台主机的IP地址存入共享内存中...

我的程序功能是为多台主机转发消息。当其他主机与我连接时为这台主机分配一个进程,该进程处理我的程序与这台主机间的通信,同时我将这个与这台主机通信的套接字描述符以及这台主机的IP地址存入共享内存中。

主机A与我相连,我为主机A建立一个子进程a,该子进程接收由A发来的消息,之后将A的IP地址和我与他通信的套接字描述符4,存入共享内存中。

之后主机B与我相连,我为主机B建立一个子进程b,该子进程接收由B发来的消息,
之后将B的IP地址和我与他通信的套接字描述符5存入共享内存中。

现在主机A通过我向B发送消息。子进程a收到消息后根据目的地址在共享内存中找
到我与主机B通信的套接字描述符5,然后子进程a使用描述符5向主机B发送消息,发生错误,错误:Bad file descriptor!

我怀疑是子进程间的套接字描述符不能共享,子进程a不能使用描述符5,是这样吗?

如果是这样的话,这个问题该如何解决?



|
跨进程是不能直接这么使用的,要用dup来复制file id

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 求教一个关于子进程与父进程socket描述符的一个问题
  • fork一个子进程后在打开一个文件,如何在子进程中使用这个打开的文件描述符号
  • 怎么才能提高一个进程能打开的描述符数量
  • 如何查看一个进程中已经打开的文件描述符
  • 父子进程共享文件描述符问题
  • socket 描述符 如何在进程间 传递 ?
  • 如何获取正在运行的进程可以打开的最大文件描述符?
  • fork()后文件描述符复制给子进程吗?
  • 描述字在进程间的传递与共享内存
  • LINUX编程关于文件描述符和FILE *指针可否从一个进程传递给另一个进程的问题
  • sco是否支持进程间传描述符?
  • 一句话描述进程与线程最本质的区别
  • 面试问题:描述线程和进程的概念以及它们的区别?
  • fork 创建进程,共享内存,文件描述符问题
  • vfork中多进程间共享描述符的问题
  • linux僵尸(zombie)进程介绍及清除
  • 进程Afork进程B,进程Bfor进程C,如果进程C退出发出SIGCHLD,A进程是否可以收到
  • Ubuntu查看内存,进程相关命令介绍
  • 如果一个server进程要fork许多子进程,但不等待子进程终止,也不希望子进程结束后处于僵进程状态直到父进程终止。请问可采用什么方法实现
  • linux下进程占用内存空间详解
  • 在多进程中父进程frok子进程,怎样让子进程自举,脱离父进程,而且父进程不退出
  • Linux进程的内核栈和用户栈概念,相互关系及切换过程
  • fock()开出的子进程的进程ID是否进程ID都大于父进程的?
  • android 4.0 托管进程介绍及优先级和回收机制
  • 父进程等待子进程n秒,如果子进程正常退出,父进程立即继续向下执行,如果子出现进程故障一直不退出,父进程等待n秒后继续向下执行,请问
  • linux下进程间通信:共享内存原理及具体用法举例(基于c/c++语言)
  • 多进程问题 子进程读取内容 读完挂起,父进程写 写入后唤醒子进程
  • 一个进程首先监听一个端口,等到有连接了就新开一个进程,让新进程来处理后面的通讯。请问母进程中已经打开了端口,子进程怎么来使用同一
  • 我在一个父进程中,生成了4个子进程,子进程的优先级是一样的。我现在想结束子进程。该如何做?
  • 子进程wait/waitpid//子进程不结束,父进程会等待子进程吗?
  • 在一个进程中我定义了几个全局变量,然后我又fork了几个子进程,子进程中是否可以各自对全局变量进行修改,如果各子进程都对其进行修改,


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3