matengfei吧 关注:1贴子:163
  • 2回复贴,共1


IP属地:北京1楼2014-05-09 10:41回复
    int iwrite (int fd, char *buf, int len)
    {
    int res = 0;
    /*
    发送一次,可能会发送比我们少的字节,这样循环发送就不会少发送字节数
    */
    while (len > 0)
    {
    do
    {
    res = WRITE (fd, buf, len); //send((fd), (buf), (cnt), 0) 的宏定义
    }while (res == -1 && errno == EINTR);
    if (res <= 0) //当res返回的结果小于或者等于0的时候,说明全部发送完毕,但是感觉这种可能非常少呢
    {
    break;
    }
    buf += res;
    len -= res;
    }
    return res; //有点类似循环读取的意思
    }


    IP属地:北京2楼2014-05-09 10:41
    收起回复