CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  C/C++ >  C++ 语言

一个奇怪的问题,请教高手--AIX下多线程的一个程序,其中一个线程在system()(或者fork())一个进程后,调用socket函数 connect() 失败!

楼主xbjob(免费消息传输中间件www.fmq.com.cn)2005-07-02 10:55:54 在 C/C++ / C++ 语言 提问

一个奇怪的问题,请教高手--AIX下多线程的一个程序,其中一个线程在system()(或者fork())一个进程后,调用socket函数   connect()   失败!    
  查看   errno   得到的结果是   2   [No   such   file   or   directory]   !!!!  
   
  同样的程序在   windows/linux   下面就没有问题!!!!!  
   
  AIX环境  
  4.3.3  
  GCC   3.0   ,3.2   都试验过了。。。。。。。。。。。。。。。。。。。  
   
   
  这也是我多年跨平台开发所遇到的一个难题活着说奇怪的问题,比较怀疑是AIX的BUG   ~~~~~~~~~~~~~~~  
   
   
  请高手们不吝赐教~~~~~~~~~~~~~~~~~  
   
  问题点数:100、回复次数:14Top

1 楼xbjob(免费消息传输中间件www.fmq.com.cn)回复于 2005-07-02 10:58:30 得分 0

还有一个现象:   connect自己   是可以的,一点问题都没有!!!Top

2 楼zhousqy(标准C匪徒)(甩拉,甩拉)回复于 2005-07-02 12:55:22 得分 20

有代码没?Top

3 楼oyljerry(【勇敢的心】→ ㊣提拉米苏√㊣)回复于 2005-07-02 13:21:31 得分 10

具体代码,描述更清楚点Top

4 楼xbjob(免费消息传输中间件www.fmq.com.cn)回复于 2005-07-02 21:14:14 得分 0

代码倒是有,不过太多了~~~   而且估计肯定不是代码的问题!  
   
  这个问题我估计很难得到答案了~~~  
   
  Top

5 楼xbjob(免费消息传输中间件www.fmq.com.cn)回复于 2005-07-02 21:20:58 得分 0

描述再清楚些:  
   
   
  一个多线程的程序,用来发送和接收文件!  
   
  其中一个线程,定时调用一个外部的程序,比如system("ls   -l");  
   
  当时间到了,那个线程执行system()函数成功之后,其余负责发送文件的线程在连接远程主机的时候(调用Socket函数connect(...))返回失败!!!   查看   errno   得到的结果是   2   [No   such   file   or   directory]   !!!!但是连接自己(127.0.0.1)的时候就可以连接成功!!!  
   
  同样的代码在Linux下一点问题都没有!  
   
  不知描述的清楚否~~~  
   
  估计可能的原因:AIX   的毛病   或者使用   GCC的原因,哪天我用Xlc试验试验~~~   :)  
  Top

6 楼Wolf0403(废人:独活十年~心如刀割)回复于 2005-07-03 09:14:58 得分 20

没搞错的话,每个进程都是   fork   出来的,所以这样的问题应该不是系统的问题……继续检查代码吧Top

7 楼newbiestar()回复于 2005-07-03 10:27:56 得分 50

除了init以外……Top

8 楼xbjob(免费消息传输中间件www.fmq.com.cn)回复于 2005-07-04 11:05:12 得分 0

自己顶1下Top

9 楼Wolf0403(废人:独活十年~心如刀割)回复于 2005-07-04 11:21:10 得分 0

大米抢分速度真是非同一般……  
   
  init   是由   boot   loader   ->   kernel   init   ->   这个线程直接   exec   得到的Top

10 楼xbjob(免费消息传输中间件www.fmq.com.cn)回复于 2005-07-04 12:26:03 得分 0

答非所问呀,兄弟,我不太关心initTop

11 楼newbiestar()回复于 2005-07-04 14:06:32 得分 0

……  
   
  算了,这个问题还是留给小龙女吧……Top

12 楼xbjob(免费消息传输中间件www.fmq.com.cn)回复于 2005-07-05 11:58:46 得分 0

:(   看来小龙女她师父来了也不行了  
   
  我认了,这个功能AIX版本不提供了~~~  
   
  感谢兄弟们~~~~~~~~~~~~Top

13 楼gogowhy(123)回复于 2005-09-08 09:24:22 得分 0

mTop

14 楼xbjob(免费消息传输中间件www.fmq.com.cn)回复于 2005-12-19 12:24:38 得分 0

123Top

相关问题

  • socket 的 ReceiveBuf 函数问题
  • socket编程:select函数
  • AIX上ftok函数的问题
  • Socket函数WSAStartup支持Win95吗?
  • socket编程,select函数问题
  • socket编程:recv(...)函数问题求救
  • ===关于Detours截获Socket API函数===
  • 关于fork函数的问题
  • 怎样实现这个函数 IsConnect( SOCKET sck ) 或者 IsClose( SOCKET sck )
  • 函数

关键词

  • 函数
  • 线程
  • aix
  • 多线程
  • 代码
  • 连接
  • socket
  • 程序
  • 进程
  • 高手

得分解答快速导航

  • 帖主:xbjob
  • zhousqy
  • oyljerry
  • Wolf0403
  • newbiestar

相关链接

  • C/C++ Blog
  • C/C++类图书
  • C/C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo