-1
我的任务是从HTTP协议文件的服务器数据获取 但问题是我不知道内容的大小,所以我遍历阅读func从socked获取数据,但它迭代每只有一次我不知道是不是真的,为什么从周期服务器获取数据
int res, len, total, boolk = 0, p=0;
while ((res = read(client_socket,bufferOut,4095)) > 0)
{
bufferOut[res]= '\0';
if(p==0)
{
buffer = calloc(strlen(bufferOut)+1,sizeof(char));
}
else
{
buffer = realloc(buffer,strlen(buffer)*sizeof(char)+strlen(bufferOut)+1*sizeof(char));
}
strcat(buffer,bufferOut);
if(isEnough(bufferOut)!=0 && boolk == 0)
{
index = getIndex(buffer);
kk = getCode(buffer);
len = getLen(buffer);
boolk = 1;
}
if(strlen(bufferOut)>=len+index && boolk == 1)
{
break;
}
p++;
}
功能isEnough只有这样看来,如果完整的HTTP标头抵getIndex获得头和getLen获得该文件的长度lenght时间,所以我想迭代,直到缓冲区是相同lenght的头文件,该文件应该是