关于SOCKET编程
以下是一个通http下载文件的程序,但总是在connect时不成功,请问为什么?
char fname[maxpath];
void logfile(char *p)
{
file *fp=fopen(fname,"a+");
fprintf(fp,"%s\n",p);
fclose(fp);
}
bool httpclient(void)
{
wsadata ws;
socket s;
struct sockaddr_in addr;
int iresult;
long lresult;
char strsubaddr[100], strbuffer[100];
lresult = wsastartup(0x0101,&ws);
s = socket(af_inet,sock_stream,0);
addr.sin_family = af_inet;
addr.sin_port = htons(80);
addr.sin_addr.s_addr = inet_addr
("168.160.224.185"); // 计算机世界日报
iresult=connect(s,(struct sockaddr *) &addr, sizeof(addr));
if(socket_error == iresult)
{
// 连接失败
wsacleanup();
return false;
}
else {
// 连接成功
strcpy(strsubaddr, "get /99/tips/ \r\n");
strcpy(fname, "index.htm");
iresult = send(s, strsubaddr,strlen(strsubaddr),0);
// 下载文件
do {
strset(strbuffer, );
iresult = recv(s,strbuffer,sizeof(strbuffer),0);
logfile(strbuffer);
} while( iresult !=0 );
}
wsacleanup();
return true;
}
推荐阅读


讨论区