【发布时间】:2011-06-12 01:45:36
【问题描述】:
我正在编写一个简单的下载器。我正在尝试下载jpg图片。
void accel::download(int threads){
char msg[] = "HEAD /logos/2011/cezanne11-hp.jpg HTTP/1.0\r\nConnection: close\r\n\r\n";
int back = send(socketC, (const char *)&msg, strlen(msg), 0);
char *buff = new char[500];
back = recv(socketC, buff, 500, 0);
cout << buff;
char *buff2 = new char[700];
char msg2[] = "GET /logos/2011/cezanne11-hp.jpg HTTP/1.0\r\nRange: bytes=0-400\r\nConnection: close\r\n\r\n";
back = send(socketC, (const char *)&msg2, strlen(msg2), 0);
back = recv(socketC, buff2, 700, 0);
cout << back;
}
TCP 连接已经初始化,我的代码的第一部分正在运行。它成功发送 HEAD 消息并收到响应。但是当它尝试下载图片时,recv 得到 0。可能有什么问题?
顺便说一句,这是学校项目,所以我不允许使用一些花哨的库来执行此操作。这是全图地址-http://www.google.com/logos/2011/cezanne11-hp.jpg
【问题讨论】: