setsockopt问题

lcq_6075217 2007-11-19 09:06:27
/*2007-11-14 9:35增加发送超时判断*/
rwto.tv_sec = 7;
rwto.tv_usec= 0;
ilRn = setsockopt(sockfd,SOL_SOCKET,SO_SNDTIMEO,&rwto,sizeof(rwto));
if ( ilRn < 0 )
etsDebug(0,"设置发送超时时间 setsockopt SO_SNDTIMEO error,ilRn=%d ,errno[%d]",ilRn,errno);
/*2007-11-14 9:35增加发送超时判断*/

ilRn = etsTcpsnd(sockfd, alMsgbuf, ilMsglen);

int etsTcpsnd(int sockfd, char *buffer, int length)
{
int len;
int totalcnt;

totalcnt = 0;
while(totalcnt < length)
{
len = write(sockfd, buffer + totalcnt, length - totalcnt);
if (len < 0)
{
if (errno==EINTR)
{
len = 0;
break;
}
else
return (-1);
}
else if (len == 0)
break;
totalcnt = totalcnt + len;
}

if(totalcnt == length)
return(0);
else
return(-1);
}

加了setsockopt为什么还会死在write函数这里
...全文
736 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
lovejklife 2007-12-08
  • 打赏
  • 举报
回复
要用send

23,125

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧