» »

[C++]prenašanje datotek iz neta

[C++]prenašanje datotek iz neta

'FireSTORM' ::

Torej ve kdo mogoče kako se da z C++ (MFC aplikacija) prenašat datoteke iz interneta iz vnaprej določenega mesta?
torej naslov in ime datoteke sta že navedena v programski kodi
http://neka.stran.com/datoteka.dat
Those penguins.... They sure aint normal....

BlueRunner ::

Poglej si funkcije, ki jih imaš v WinHTTP oziroma WinINet API-jih. Sicer odvisno od tvojih potreb (ali uporabljaš COM, ali ne), vendar dobiš relevantna primera na naslovih http://msdn.microsoft.com/library/en-us/winhttp/http/iwinhttprequest_open.asp in http://msdn.microsoft.com/library/en-us/wininet/wininet/http_sessions.asp?frame=true.

MasterBlaster ::

Jaz uporabljam libcurl
Tk je pa pika .

'FireSTORM' ::

@BlueRunner: nebi rad izpadel kot idiot
WinHTTP je externi program z katerim potem C++ manipulira? ali je to že vgrajeno v C++?
Those penguins.... They sure aint normal....

Kekec ::

1. ne
2. ne

BlueRunner ::

@MasterBlaster: Prednost uporabe API-jev, ki jih MS prilaga v sistemu je ravno to: priloženi so v sistemu. Nobenih dodatnih knjižnic za distribucijo, nobenih težav z posodabljanjem taistih knjižnic, pa še celotno MS-jevo infrastrukturo imaš na voljo.

@'FireSTORM': WinINet/WinHTTP sta dva (OK, en in pol) API-ja, ki jih MS nudi v okolju Windows. Kot takšna itak nista nikakršne ekstrene aplikacije, ravno tako pa tudi nista del VC++. Sta pač del Oken samih. Sicer pa sem ti dal povezave na dokumentacijo, pa si jo vsaj preberi, preden začneš postavljati takšna vprašanja.

PS: Ja. Nesramen sem, če nekdo, ki se ima za programerja, pričakuje, da mu bo brez kančka dela vse servirano na pladnju. Dobil si več kot samo namig, dobil si povezave na dokumentacijo, dobil si povezave na primere kako to izgleda v C kodi in kako lahko to uporabiš v C++ kodi. Če dokumentacije nisi prebral/pregledal, kar se da sklepati na podlagi tvojega vprašanja, pojdi še enkrat nazaj in si jo preberi.

'FireSTORM' ::

ja, nisem še mel časa prebrat vsega, sem pa preletel skozi vse tako bolj bogo
čas za branje bo najprej ta vikend, mogoče
do zdaj pa še itak mam polno ostalega dela z programom ki ga izdelujem, to bom pa še vključeval malo pozneje
Those penguins.... They sure aint normal....

64202 ::

A kdo ve, kaka bo usoda wininet pod visto in naprej? Nekaj na winhttp strani jamrajo, da je to zdaj preferred way, samo se mi zdi, da je bolj mišljen za serverske programe. Wininet kolikor zgleda ti edini avtomatsko uporabi nastavitve od IE-ja (proxyi, autoconf skripte, ...).
I am NaN, I am a free man!

MasterBlaster ::

@BlueRunner: Moje aplikacije morajo biti cross platform in dejansko tečejo na windowsih, linux-u in HP-UX-u, zato zame windows only knižnice ne pridejo v poštev. Zdele iz glave ne vem kako je z libcurl, načeloma se pa lahko tudi statično linka v aplikacijo. V nasprotnem primeru pač zraven aplikacije pošlješ še en dll in je to to.
Tk je pa pika .

BlueRunner ::

Če si cross-platform, potem se strinjam, da se ne zanašaš na sistemske API-je, temveč uporabljaš knjižnice, ki ti to prenosljivost zagotavljajo. FireSTORM te zahteve nima, ker, po lastnih besedah, razvija aplikacijo z MFC-jem. Na podlagi te podmene, je uporaba sistemskih API-jev bolj zaželjena, saj dodatne knjižnice dodajajo nepotrebno delo.

BlueRunner ::

@64202: Pod visto se ne bo nič tragičnega spremenilo, saj so WinINet/WinHTTP API-je v okna pripeljali kot osnoven API, na katerega se je IE 4.0 v celoti zanašal. To pomeni, da bo ostal API "živ" vsaj do IE 8.0. Res pa je, da je MS-jeva strategija ta, da čim več razvijalcev in aplikacij, čim prej spravi na .NET platformo. Pod Okni XP je bilo to zelo težko, saj je morala vsaka aplikacija pri nastavitvi s seboj "vleči" še celoten .NET runtime, z 2003 Server in Visto pa integracja že premika odločilne vektorje v dobro te migracije.

Torej: nekaj let je WinINet/WinHTTP API še čisto dober za uporabo, vsekakor pa bodo po izidu Viste pravila spremenjena, saj se bo potem začel odštevati čas (v letih) do trenutka, ko MS tega API-ja več ne bo razvijal in podpiral. Glede na cca. 5-letni cikel menjanja platform pri MS-ju, to pomeni, da bo aplikacije, kjer je to smiselno, potrebno prepisati v .NET tam nekje do 2008-2009, ker bo 2011 postala podpora takšnim aplikacijam preprosto predraga.

Aha, pa še en predlog... tako mimogrede: Če danes načrtujete razvijati aplikacije v .NET, ki bodo uporabljaje remoting, se raje ustavite in jih bodisi načrtujtje z WS/SOAP, bodisi počakajte na Windows Communication Foundation. Microsoft se remotingu odpoveduje, ker ima tovrsten pristop tudi nekaj hudih težav, za nove aplikacije pa se ga že odsvetuje. To pomeni, da bo v .NET 3.0 označen kot deprecated, v prihodnjih verzijah pa bo morda celo v celoti odstranjen.

'FireSTORM' ::

BlueRunner maš prav ja
mam samo na win sistemu
zdaj pa ko ste me ravno na to spomnili
bo to laufalo na windows 95 tudi, ta aplikacija?

zakaj windows 95? če bo na 95 bo 100% na 98, ME, 2000 tudi laufalo
za 2003 in visto me pa še niti toliko ne zanima

glede dodatnega dll file-a
jaz mam nameščen VC na računalniku in ko zbuildam aplikacijo jo lahko premaknem kamorkoli na disku pa bo to laufalo
sem pa poslal aplikacijo prek na puncin računalnik preko mreže, ona pa nima VC in ni laufalo dokler nisem priložil treh ali štirih dlljev
Those penguins.... They sure aint normal....

Zgodovina sprememb…

BlueRunner ::

Če imaš MSDN na disku (kar ti priporočam), potem sta pri vaki funkciji v levem zgornjem kotu "glavnega" okna dve ikonci: ena je "See also", druga pa je "Requirements". Na on-line verziji tega ni, v grobem pa velja, da je WinINet API na voljo od Windows 95 naprej (zahtevan je IE 3), WinHTTP API pa je na voljo od Windows 2000 naprej (za Windows NT 4.0 se dobi redistributable, oziroma se lahko namesti IE 5).


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

WSUS ne najde mašin

Oddelek: Programska oprema
162888 (2286) NeMeTko
»

[C#] Prosim pomagajte! Potrebujem program, ki bi pobiral podatke iz ene strani

Oddelek: Programiranje
212581 (2191) David1994
»

[c++] upload FTP

Oddelek: Programiranje
61076 (882) hihitavc
»

Avtomatično pritiskanje gumbov!

Oddelek: Programiranje
121372 (1102) darkolord
»

[C++]Zagon drugega programa in izvajanje ukaza

Oddelek: Programiranje
111351 (1196) 64202

Več podobnih tem