社区
C++ 语言
帖子详情
求教,如何用winsock实现下载
cdsun
2006-07-03 10:09:29
求教,如何用winsock实现下载
本人新手
现在开始学习c++基于sdk开发
想做一个下载的功能,但是不知道如何下手各位,请指点
我的开发环境xp+vs.net2003
用的win32控制台开发
请指点
...全文
255
12
打赏
收藏
求教,如何用winsock实现下载
求教,如何用winsock实现下载 本人新手 现在开始学习c++基于sdk开发 想做一个下载的功能,但是不知道如何下手各位,请指点 我的开发环境xp+vs.net2003 用的win32控制台开发 请指点
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
12 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
cdsun
2006-07-10
打赏
举报
回复
#include "stdafx.h"
#include <winsock.h>
//#include <wininet.h>
#include <windows.h>
#pragma comment(lib,"wsock32.lib")
#pragma comment(lib,"wininet.lib")
char fname[MAX_PATH];
void LogFile(char *p)
{
FILE *fp=fopen(fname,"a+");
fprintf(fp,"%s\n",p);
fclose(fp);
}
bool httpdownload(void)
{
WSADATA ws;
SOCKET s;
int i=0;
struct sockaddr_in addr;
int iResult;
long lResult;
char strSubAddr[8192], strBuffer[8192];
lResult = WSAStartup(0x0101,&ws);
int err=WSAStartup(lResult,&ws);
//如果不能初始化WinSock,退出
if(err==-1){
perror("WSAStartup");
exit(1);
}
else
{
printf("创建winsock成功!\n");
}
s = socket(AF_INET,SOCK_STREAM,0);
if(s<0){
perror("Opening stream socket");
exit(1);
}
HOSTENT* ph=gethostbyname("www.aiiyoo.com");//获得主机名
if(NULL==ph){
printf("gethostbyname=%d\r\n",WSAGetLastError());
return 0;
}
addr.sin_family = AF_INET;
addr.sin_port = htons(80);
//addr.sin_addr.s_addr = inet_addr("168.160.224.185"); // 计算机世界日报
addr.sin_addr.S_un.S_addr=*(LPDWORD(ph->h_addr_list[0]));
iResult=connect(s,(struct sockaddr *) &addr, sizeof(addr));
if(SOCKET_ERROR == iResult)
{
// 连接失败
closesocket(s);
WSACleanup();
printf("连接远程主机...失败!\n");
return false;
}
else
{
// 连接成功
strcpy(strSubAddr, "GET /lover/pic/ HTTP/1.1\r\nHost: www.aiiyoo.com\r\n\r\n");
strcpy(fname, "2006621132323.jpg");
iResult = send(s, strSubAddr,strlen(strSubAddr),0);
printf("建立连接远程主机...成功!\n");
}
// 下载文件
strset(strBuffer, 8192);
printf("%d\n",iResult);
iResult = recv(s,strBuffer,sizeof(strBuffer),0);
char* p=strstr(strBuffer,"\r\n\r\n");
LogFile(p+4);
do
{
strset(strBuffer, 8192);
i=i+1;
iResult = recv(s,strBuffer,sizeof(strBuffer),0);
printf("%d\n",iResult);
LogFile(strBuffer);
} while(iResult!=0);
closesocket(s);
WSACleanup();
printf("it's ok!");
return 0;
}
int main(int argc, CHAR* argv[])
{
httpdownload();
}
以上是我的代码。下载网页文件很快为什么下载其他类型的文件比如图片或者可执行文件都很慢。是非常的曼是为什么呢
大家能不能给点点例子看看呢
cdsun
2006-07-06
打赏
举报
回复
谁能给一个例子看看
god_sun
2006-07-06
打赏
举报
回复
就用recv(),send().把你要下载的文件以2进制的形式读入buff,太大可以分段下载
cangwu_lee
2006-07-06
打赏
举报
回复
没有办法帮到什么
programhunter
2006-07-06
打赏
举报
回复
用winsock下载?你先把HTTP,FTP等协议弄清楚才行.
每种协议格式,包的要求搞清楚,然后就能下了.
现在ms提供有Internet API,暴雪的下载器也是用这种API,建议你还是看看MSN,用这种API比较好.
fdimim
2006-07-05
打赏
举报
回复
用winsock下载?那就是c/s模式的了,你告诉服务器你想要什么东西,然后它就传那个东西给你了。 这不就下载了吗。 猜的
嫌麻烦,直接用 URLDownloadToFile 就好了。
cdsun
2006-07-05
打赏
举报
回复
没有人帮忙啊
cdsun
2006-07-05
打赏
举报
回复
自己顶一下
superxiaomm
2006-07-03
打赏
举报
回复
就TCP/IP通讯亚
cdsun
2006-07-03
打赏
举报
回复
没有人帮帮忙啊?
avfff
2006-07-03
打赏
举报
回复
精神可嘉,我在Win32 SDK这方面也是新手。互相学习。
cdsun
2006-07-03
打赏
举报
回复
你说的那个是不是太复杂了些
我只想实现下载
单体应用与微服务的优缺点
单体应用(monolith application)就是将应用程序的所有功能都打包成一个独立的单元,可以是 JAR、WAR、EAR 或其它归档格式。随着业务需求的快速发展变化,敏捷性、灵活性和可扩展性需求不断增长,迫切需要一种更加快速高效的软件交付方式。微服务就是一种可以满足这种需求的软件架构风格。单体应用被分解成多个更小的服务,每个服务有自己的归档文件,单独部署,然后共同组成一个应用程序。这里的“微”不是针对代码行数而言,而是说服务的范围限定到单个功能。
单体应用与微服务优缺点辨析
原文:http://www.infoq.com/cn/news/2015/04/single-app-micro-service 近日,Java Code Geeks发表了一篇文章,分析了单体应用与微服务的优缺点,并建议使用微服务重构现有的应用程序。 通俗地讲,“单体应用(monolith application)”就是将应用程序的所有功能都打包成一个独立的单元,可以是JAR、WAR、EA
单体应用优缺点分析
目的: 很多时候我们在面试时,面试官一般会提到你现在使用的是微服务架构,那你知道单体应用有什么优点吗?为什么要从单体应用转成微服务?如题,我们先来分析单体应用的优缺点,后续文章会陆续介绍微服务和SOA架构等。 单体应用时代: 大家可以回想下以前做单体应用时涉及的项目情况,包含:用户群体、用户规模、项目阶段、团队人数、团队分组情况、项目投入资金、项目工期、开源社区流行技术框架有哪些、每天能产生多少业务数据量,带着疑问去思考。 分析: 我们按照规模大小来,区分单体应用的优缺点,在不同规模下的优缺点是不同的,有些
分布式架构和单体应用的优缺点
使用分布式系统主要有两方面原因。 增大系统容量. 我们的业务量越来越大,而要能应对越来越大的业务量,一台机器的性能已经无法满足了,我们需要多台机器才能应对大规模的应用场景。所以,我们需要垂直或是水平拆分业务系统,让其变成一个分布式的架构。 2.加强系统可用。我们的业务越来越关键,需要提高整个系统架构的可用性,这就意味着架构中不能存在单点故障。这样,整个系统不会因为一台机器出故障而导致整体不可用。所以,需要通过分布式架构来冗余系统以消除单点故障,从而提高系统的可用性。 分布式架构和单体应用的优缺点对比
深度解析四大主流软件架构模型:单体架构、分布式应用、微服务与Serverless的优缺点及场景应用
探索从单体架构到分布式应用,再深入微服务架构和Serverless架构的世界,我们将一窥现代软件开发的各种可能性和挑战。在云计算、大数据、AI技术和DevOps文化的推动下,软件架构不断演进,致力于满足高并发、数据一致性、自动扩展和低延迟等业务和技术需求。通过合理选择和应用不同的架构模式,开发团队能够更精确地定位服务,优化资源利用,
实现
敏捷开发和持续交付,并在容错、性能优化和系统稳定性等方面做出明智决策。本文旨在为架构师、开发者和技术领导者提供一种全面洞察,帮助他们在复杂的技术生态中导航,
实现
价值创新和业务
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章