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; //有点类似循环读取的意思
}
{
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; //有点类似循环读取的意思
}