我正在尝试构建一个 HTTP 客户端。到目前为止,我有一些东西需要一个 IP 地址并打印 http 响应,没问题。但是,当我尝试接受该响应并将其放入字符串中时,程序会挂起。
所以这有效:
write(sockfd, sendBuff, strlen(sendBuff));
string s = "";
while((n = read(sockfd, recvBuff, sizeof(recvBuff)-1)) > 0)
{
recvBuff[n] = 0;
if(fputs(recvBuff, stdout) == EOF)
{
printf("\n Error : Fputs error\n");
}
}
而这并没有:
write(sockfd, sendBuff, strlen(sendBuff));
string s = "";
while((n = read(sockfd, recvBuff, sizeof(recvBuff)-1)) > 0)
{
recvBuff[n] = 0;
s.append(recvBuff, strlen(recvBuff));
}
我真的很想将整个 http 响应放入一个字符串中,因为我有一个解析整个响应的对象。任何帮助,将不胜感激!