免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1185 | 回复: 3
打印 上一主题 下一主题

UNIX C SOCKET编程的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-07-13 15:33 |只看该作者 |倒序浏览
公司的服务器是AIX,网络读写函数如下:

  1. int     TRead( int iSockId , char * pcaBuf , int  iLen )
  2. {
  3.     long        iLength = 0 ;
  4.     long        N ;

  5.     while( 1 ) {
  6.         N = read( iSockId , pcaBuf+iLength , iLen-iLength ) ;
  7.         if( N<0 )
  8.                 return -1 ;
  9.         iLength += N ;
  10.         if( iLength == iLen )
  11.                 break ;
  12.         if( iLength<=0 )
  13.                 return  -2 ;
  14.     }
  15.            return iLen ;
  16. }

  17. int     TWrite( int iSockId , char * pcaBuf , int  iLen )
  18. {
  19.     long        iLength = 0 ;
  20.     long        N ;
  21.    
  22.     while( 1 ) {
  23.         N = write( iSockId , pcaBuf+iLength , iLen-iLength ) ;
  24.         if( N<0 )
  25.             return -1 ;
  26.         iLength += N ;
  27.         if( iLength == iLen )
  28.             break ;
  29.         if( iLength<=0 )
  30.                 return  -2  ;
  31.     }
  32.     return iLen ;
  33. }
复制代码

我在使用这两个函数时,多数时候没有问题,但有时会出现不明故障,不知道原因何在,请大虾指点,谢谢!

论坛徽章:
0
2 [报告]
发表于 2005-07-13 16:53 |只看该作者

UNIX C SOCKET编程的问题

是不是应该在操作要读写的socket之前先判断一下吧,select(0,&fdread,NULL,NULL,&tmv);
SirFang 该用户已被删除
3 [报告]
发表于 2005-07-13 18:17 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
1
15-16赛季CBA联赛之四川
日期:2016-02-15 17:12:32
4 [报告]
发表于 2005-07-13 20:46 |只看该作者

UNIX C SOCKET编程的问题

因该不是这两函数的问题!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP