Transmettre un fichier entre deux ordinateurs

Téléchargements:

Sources 1.1 Beta (GNU/Linux et windows)
Sources 1.0 (GNU/Linux et windows)
1.1 Beta Windows, fichier éxécutable
1.0 Windows, fichier exécutable


Documentation transmetteur:

Le transmetteur est un programme créé dans le but de transmettre un fichier entre 2 ordinateurs connectés.
Les ordinateurs peuvent fonctionner sur des systèmes d'exploitation différents:

Windows XP, Vista, Seven (32 et 64 bits).
GNU/Linux (32 et 64 bits).

Ce programme est sous la licence GPLv3 et est donc gratuit.
Il n'y a pas de limite de taille de fichier.

La transmission peut se réaliser en réseau local ou par internet.
Pour une transmission par internet: Si le PC serveur est connecté à internet par un routeur,
il faut ouvir un port (le port par défaut du transmetteur est 1000) et le rediriger sur le PC serveur.
instructions ici.
Attention, votre firewall ou le firewall par défaut de Windows peut empècher la transmission.
En mode serveur (pas d'adresse spécifiée): Il faut autoriser le serveur à accepter une connexion entrante.
En mode client (une adresse est spécifiée): Il faut autoriser le client à créer une connexion sortante

La version 1.1 n'est pas compatible avec la 1.0

Le programme s'exécute en ligne de commande.

Terminologie:
Le serveur est l'ordinateur qui attend la connexion du client.
Le client est l'ordinateur qui se connecte au serveur.

-> Seul le client doit connaître une adresse (celle du serveur)

Le transmetteur sera client si l'utilisateur précise l'adresse du serveur grâce à l'option "--address" ou "-a".
Le transmetteur sera serveur si l'utilisateur ne précise pas d'adresse (pas d'option "--address" ou "-a").

Le serveur doit toujours être démarré avant le client


Note: Sous Linux le transmetteur en mode serveur doit être lancer avec les privilèges root.

le fichier est envoyé dans un sens indépendant du choix client ou serveur:


Envoyer un fichier:
Le fichier est envoyé si l'option "--send" ou "-s" est utilisée.
Le nom du fichier doit être passé avec l'option.
Exemple: "-s monfichier" : Le fichier nommé "monfichier" sera envoyé
Le nom du fichier peut être passé avec son path (chemin d'accès)
Exemple: "-s c:\monfichier" : Le fichier sur le disque c nommé "monfichier" sera envoyé.

Recevoir un fichier:
Le fichier est reçu si l'option "--receive" ou "-r" est utilisée.
Le nom du fichier doit être passé avec l'option
Exemple: "-r monfichier" : Le fichier nommé "monfichier" sera reçu.
Le nom du fichier peut être passé avec son path (chemin d'accès).
Exemple: "-r c:\monfichier" : Le fichier sur le disque c nommé "monfichier" sera reçu.

En cas de problème de transmission, avec la version 1.1, il est possible de reprendre la transmission là oú elle s'était stopée.
C'est au PC recepteur d'indiqué à quel octet la transmission doit être reprise (il n'y a pas de changement côté envoyeur).
C'est-à-dire, si seulement les 1000 premiers octets d'un fichier de 10 000 octets sont transmis.
En indiquant le même nom de fichier (en tapant la même commande), le transmetteur verra qu'un fichier de 1000 octets existe déjà
et la transmission sera reprise à partir de l'octet 1001.

Exemple: Je veux recevoir le fichier "c:\monfichier" (en mode serveur)
Je démarre une première fois le transmetteur grâce à la commande : "transmetteur -r c:\monfichier"
Aprés quelques minutes, il y a un problème. Je souhaite ne pas recommencer la transmission à zero.
Je redémarre donc le transmetteur avec la même commande: "transmetteur -r c:\monfichier"
L'application verra qu'un fichier existe déjà et demandera à l'envoyeur (ici le client) de n'envoyer que la fin du ficher.


Le port par défaut est le 1000 (l'option "--port" ou "-p" permet de changer le port)
L'option "--port" ou "-p" est facultative.

L'option "--blok-size" ou "-b" permet de modifier la taille du buffer. Cette option est facultative
Cette option n'est plus dans la version 1.1 car cette taille est calculée automatiquement.
Il est conseillé d'utiliser la version 1.1 pour avoir des meilleurs performances.

Exemples:

1)Envoi du fichier "fichierTEST" de 47567360 bytes vers la machine 192.168.1.3:

Copie d'écran sur l'ordinateur client (Linux Gentoo)


Copie d'écran sur l'ordinateur serveur (Linux Mandriva)



2)Envoi du fichier "fichierTEST" de 47567360 bytes vers la machine 192.168.1.4:

Copie d'écran sur l'ordinateur client (Linux Gentoo)

Copie d'écran sur l'ordinateur serveur (Windows Seven)


Compiler sous GNU/Linux

1) Décompresser la source (tar -zxvf transmetteur1.1Beta.tar.gz).
2) Taper "make" dans un terminal (dans le repertoire contenant les sources).


Compiler sous windows avec Code Blocks

1) Créer un nouveau projet "application console".

2) Choisissez un nom de projet de votre choix.

3) Laisser les options de compilation par défaut.

4) Supprimer le fichier "main.cpp".

5) Ajouter tous les fichiers "cpp" et "h" contenus dans les sources dans le projet.
6) indiquer au linker d'inclure la libraire winsock2 grâce à l'option "ws2_32" ou "ws2_64".

7) Compiler.



Den: den@passionpc.net