Domanda

Ehi, ho cercato su Google e non riesco a trovare nulla sul trasferimento peer to peer.

Fondamentalmente, voglio essere in grado di inviare un file dal mio computer al computer di qualcun altro. Qualcuno conosce qualche guida che mi può aiutare in questo?

Grazie.

È stato utile?

Soluzione

Se vuoi davvero " inviare un file dal mio computer al computer di qualcun altro " usando C # allora potresti non cercare vero p2p. Puoi semplicemente usare TCP grezzo. Per questo è necessario il computer remoto per ascoltare per una connessione, il computer per aprire una connessione al computer remoto e iniziare a inviare dati.

C'è un esempio molto semplice su come fare qualcosa del genere qui .

Se stai effettivamente cercando il vero P2P, allora è meglio usare una rete P2P esistente (altrimenti non ci sarà nessuno tranne te e il tuo altro computer). Ci sono alcune librerie BitTorrent C # in giro - ad esempio BitSharp , TorrentNet . C'è un'intera sulle domande di BitTorrent scritte in puro C # .

Altri suggerimenti

Google " System.Net.PeerToPeer " ;, uno spazio dei nomi disponibile nel framework .NET 3.5. Non avrai problemi a trovare documenti e codice di esempio.

Se il computer di destinazione è in grado di esporre un URI a cui pubblicare, puoi semplicemente usare

WebClient.UploadFile(Uri address, string filename)

Prende semplicemente un URI come indirizzo (http, ftp, anche il protocollo del file per trasferirlo in una cartella condivisa).

Ma ciò richiede la configurazione di qualcosa sul lato server su cui pubblicare, ma sarebbe indipendente dalla piattaforma sul server (ad es. qualsiasi vecchio server FTP, o una pagina web o un servizio che accetta un file con il metodo POST). La sicurezza può essere un problema che devi considerare comunque.

Sta usando un modello push. WebClient può essere utilizzato anche dall'altro lato per il download. Supporta anche il trasferimento di flussi di dati, stringhe, ecc.

Dai un'occhiata a questo progetto su Project Code .

Fornisce chat P2P e trasferimento di file e potrebbe essere una fonte d'ispirazione o una soluzione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top