anonim_4396
| anonim_4396 a întrebat:

Cum se folosesc functiile (c/c++) pentru transmiterea de fisiere intre computere?

6 răspunsuri:
| monstrulet a răspuns:

Deschizi cate un socket pe fiecare pc, pe unul trimiti date si pe altu pe primesti.

suntserios
| suntserios a răspuns:

Fii mai explicit in ce vrei sa intrebi.

| CaffeBoy a răspuns:

Deci, eu trimit un executabil pe un computer cu scopul de a fura fisiere, ca sa le primesc ar trebuie sa am si eu un executabil pornit?

Cum se face mai exact, m-ar interesa si surse scrise in c/c++

| monstrulet a răspuns (pentru CaffeBoy):

Daca nu ti le trimiti pe mail, trebuie sa ai si tu ceva pornit ca sa le poti primi.
Cel mai important e cum ii trimiti executabilul persoanei respective. El trebuie sa il ruleze, pentru ca nu o sa se copieze si ruleze singur pe pc-ul lui din senin.
Cred ca ti-ar fi mai usor daca ai incerca ceva de genul "trojan maker". Nu e deloc usor de facut asa ceva in c/c++(dar ar fi putin mai usor de facut in c#).

| CaffeBoy a răspuns (pentru monstrulet):

Ideea mea nu e malefica si nu e menita sa "fure" la propriu.
Intr-adevar am cautat niste tutoriale toate in c# dar nu pot invata ca papagalul fara sa le inteleg fiind explicate in engleza. (spre rusinea mea inteleg doar anumite pasaje).
Sti sa-mi arati astfel de aplicatii in pseudocod si c#?

| monstrulet a răspuns (pentru CaffeBoy):

Pai, inainte de asta, trebuie sa te hotarasti cum o sa functioneze aplicatia.
1. Daca vrei sa trimita datele direct de pe un pc pe altul, trebuie sa tii cont de urmatoarele aspecte:
-ambele pc-uri trebuie sa fie pornite in momentul trimiterii datelor
-pc-ul care trimite datele trebuie sa aiba pornit programul care trimite datele
-pc-ul care primeste datele trebuie sa aiba pornit programul care primeste datele
-pc-ul care primeste datele trebuie sa accepte conexiuni din exterior(firewall-ul/router-ul trebuie sa fie configurat pentru a permite asa ceva)
In plus, e ceva mai greu de trimis fisierele folosind socket-uri(trebuie sa tii cont de dimensiunea lor, de numarul lor, trebuie sa sincronizezi pc-urile, etc.)
exemplu: http://csharp.net-informations.com/......amming.htm

2. Daca vrei sa trimita datele pe o adresa de mail, nu ai nevoie decat de un cont email care suporta SMTP(gmail suporta) si o adresa de mail pe care sa trimita datele. Datele sunt trimise ca fisiere atasate.
In cazul asta poti sa intri pe mail si sa le iei cand vrei, nu trebuie sa ai pc-ul pornit cu programul ruland. Nu e nevoie decat ca persoana respectiva sa intre in program, si fisierele respective sunt trimise pe mail-ul specificat de tine.
Aici trebuie sa ai grija la limita de MB pe care o poate avea un mail!(google suporta 25mb, yahoo parca suporta 10mb; deci daca trimiti mail-ul pe o adresa de yahoo, trebuie sa aiba 10mb maxim. Daca trimiti mail-ul pe alta adresa de gmail, poti sa ai 25mb maxim)
exemplu: http://csharp.net-informations.com/......chment.htm

In ambele cazuri ai nevoie sa stii unde o sa fie fisierele respective. Daca stii sigur ca o sa fie, de exemplu, in C:\Users\Gigel\AppData\Roaming\Mozilla\ceva.txt, atunci e bine. Daca nu, va trebui sa folosesti environment variables ca sa aflii folderele bune.(->google using environment variables in c#)
De asemenea poti sa trimiti toate fisierele dintr-un folder, daca ai nevoie(->google c# get files in folder).