IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Protocoles Discussion :

envoyer un fichier sur un serveur tcp.


Sujet :

Protocoles

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 76
    Points
    76
    Par défaut envoyer un fichier sur un serveur tcp.
    Bonjour,

    J'ai une appli dans une carte microcontroleur qui utilise un controleur Ethernet (XPort/Lantronix) et qui doit envoyer un fichier (à travers le net) vers un serveur tcp (car le Xport ne sait pas faire client ftp).

    Est-ce que l'on peut faire cela avec des serveurs tcp standards ? avez-vous des noms de serveurs tcp (sous windows) à me donner.
    En d'autres terme est-ce qu'il existe des serveur tcp qui peuvent se programmer (avec des scripts par exemple) pour leur dire : "si tu reçois une connexion sur tel port, c'est ton fichier qui arrive, alors récupère-le et stocke-le").

    merci bcp de vos lumières,

    Gilbert
    Merci de votre aide.
    Gilbert.

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 76
    Points
    76
    Par défaut
    personne à un petit tuyau à me donner à ce sujet ?
    J'ajoute qu'il faudrait aussi que le serveur tcp puisse renvoyer des emails.

    Est-ce que ce genre de serveur tcp scriptable existe ?

    merci,

    Gilbert.
    Merci de votre aide.
    Gilbert.

  3. #3
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    à mon sens un "serveur tcp", ça n'existe pas. On parle de serveur lorsque:
    _ Une application tourne sur un poste
    _ écoute sur un port donné (80 22 ....)
    _ échange des données avec un poste distant (cette partie peut etre négociable, surtout dans le cas de service en UDP ...).

    IP définis la manière d'échanger les données, il existe deux manière:
    _ TCP
    _ UDP

    TCP certifie que le paquet envoyé sera reçu
    UDP certifie que le paquet sera envoyer mais pas forcément reçu.

    Dans ce que tu dis, FTP est un protocole de même que HTTP et autre ....

    Donc ce que tu recherche est un serveur de fichier. Un serveur de fichier peut-etre fait de plusieurs manière:
    Via un protocole FTP
    protocole samba
    protocole ssh
    protocole maison.

    En l’occurrence il te faudrait un protocole maison, donc à toi de faire le serveur. Étant donné que tu es le seul à connaitre la manière d'envoyer les données, tu seras le seul à savoir comment les recevoir, tu ne peux donc pas trouvé une solution toute faite.

    Solution que je pourrais te conseiller:
    Savoir exactement ce que fais ton appli? C'est toi qui l'as codé?
    Si elle envois les fichiers, comment? Fichier brut directement dans la socket? en UDP? en TCP? sur quel port?
    Et ce que tu veux pour la réception.

    Il est facile de faire rapidement un serveur php qui reçois des fichier en post et permettant d'envoyer des mails.
    Sinon utiliser un serveur de fichier mais en respectant le protocole utiliser par ce serveur (donc modification de l'appli si tu as la main dessus).

    Si tu as des questions, n'hésite pas (je suppose d'ailleurs que tu en auras ^^).
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 76
    Points
    76
    Par défaut
    merci beaucoup skeud d'avoir pris un peu de temps pour me répondre et désolé de ne pas avoir été plus réactif, je n'ai pas reçu ton messages en copie dans mes emails.;-(

    Alors disons que je cherche un serveur IP en TCP (je veux être certains que tout le fichier arrive!) qui va effectivement attendre qu'une connexion (cliente) se connecte et lui envoi un fichier. du côté client c'est un contrôleur Ethernet LANTRONIX qui envoie un fichier en mode TCP sur tel adresse IP et tel n° de port. Je pensais (probablement bêtement) qu'il pouvait exister des genres de serveur TCP/IP "scriptable" pour récupérer ce fichier et lui dire par script :
    si connexion client sur port n° truc alors enregistre ça sous X:\chemin\...\...\nomfichier.abc


    Quand tu me parle de serveur php, tu veux dire coder un serveur tcp-ip en php ? pourquoi pas.
    J'imagine que l'avantage c'est que ça peut tourner sous Windows et Linux, non ?
    Par contre est-ce que je peux gérer du cryptage AES256 en php ? (parceque le fichier envoyé à travers le controlleur LANTRONIX sera probablement crypté!)

    merci de ton aide, ça m'éclaire.

    a+

    Gilbert.
    Merci de votre aide.
    Gilbert.

  5. #5
    Membre émérite
    Avatar de skeud
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2011
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 1 091
    Points : 2 724
    Points
    2 724
    Billets dans le blog
    1
    Par défaut
    Si tu souhaite faire ton propre serveur tu peux tout faire en gros .

    Coté php, renseigne toi sur les formulaire post avec envois de fichier et la manière de recevoir le fichier. C'est un peu plus compliqué que simplement envoyer le fichier .

    Le cryptage, il faut que tu vois ça après, d'abord essaye de faire un serveur sans, qui permettra de recevoir les fichiers, ça sera plus simple pour toi, ensuite tu pourras voir pour envoyer un fichier crypter, il existe plein de fonction en php pour faire ça .

    L'avantage du php c'est que tu n'auras pas besoin de le recompiler pour le faire tourner sous linux et windows . Contrairement à du C++/C où ça risque d'etre un peu plus compliqué.

    Concernant le client, tu as la main dessus ou pas?
    Pas de solution, pas de probleme

    Une réponse utile (ou +1) ->
    Une réponse inutile ou pas d'accord -> et expliquer pourquoi
    Une réponse à votre question


  6. #6
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 149
    Points : 28 116
    Points
    28 116
    Par défaut
    Serveur TCP ? Serveur IP en TCP ?

    Si tu parles bien de TCP (Transport Control Protocol) et de IP (Internet Protocol), ça ne veut absolument rien dire de parler de serveur IP ou de serveur TCP. Au mieux, tu as un serveur qui peut travailler sur des paquets IP et TCP. Mais je pense que tu n'as pas besoin de savoir si tu utilises de l'IP, du TCP ou autre chose.

    Donc, ce que tu veux faire, c'est envoyer un fichier. Pour ça, il faut que tu choisisses un protocole d'échange de fichiers, comme FTP par exemple.

    Ensuite, sur ton serveur, il te faut un serveur FTP.
    Et sur ta carte, un simple client qui va donc être capable d'envoyer (ou de recevoir) un fichier en FTP.

    Ensuite, pour ce qui est d'envoyer des mails, je n'ai pas compris ce que tu voulais : tu veux que le serveur envoie un mail lorsqu'il a recu un fichier, c'est ca ? Si c'est bien le cas, ca peut probablement se faire avec certains serveurs FTP, ou bien sinon tu vas devoir faire un bout de code toi-même.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 76
    Points
    76
    Par défaut
    merci pour vos réponses.
    pour le ftp, pas possible car le contrôleur Ethernet qui fait office de client ne gère pas le FTP donc TCP obligatoire.

    Je vous tiendrai au courant.

    Gilbert.
    Merci de votre aide.
    Gilbert.

  8. #8
    Membre régulier
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Août 2014
    Messages
    63
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Août 2014
    Messages : 63
    Points : 123
    Points
    123
    Par défaut
    Citation Envoyé par ihih45 Voir le message
    merci pour vos réponses.
    pour le ftp, pas possible car le contrôleur Ethernet qui fait office de client ne gère pas le FTP donc TCP obligatoire.

    Je vous tiendrai au courant.

    Gilbert.
    Bonjour,

    Tu n'a pas compris le fonctionnement de base alors je vais essayer de réexpliquer :

    Le réseau est divisé en plusieurs couche nommé model OSI :

    Application (protocole applicatifs FTP,HTTP,IMAP ...)
    Présentation (mise en forme des données)
    Session (gestion des connexions)

    Transport (le protocole TCP/UDP et le N° de port)
    Réseau (les adresses IP)
    Liaison de donnée (les adresses MAC)
    Physique (le câble réseau, ondes wifi, lien optique ...)

    les trois du dessus sont géré par le programme client/serveur
    les 4 du dessous sont contrôlé par les interfaces réseau et switch/routeurs même si une application peut les piloter


    dans ton cas tu cherche à transmettre un fichier en TCP (couche 4) vers un serveur mais il faut d’abord définir au niveau applicatif comment envoyer le fichier (et donc commencer par tout en haut de la pile OSI puis descendre au fur et a mesure, pour arriver sur la couche physique qui va représenter l’envoi de donnée)

    coté serveur il faudra développer l'inverse : partir de la couche physique pour remonter jusqu’à la couche applicative comme pour le schémas ci-dessous)



    prenons un exemple lorsque tu est sur ton navigateur (client):

    - tu utilise le protocole HTTP pour visiter une page web : www.google.fr (couche application)

    - le navigateur ce charge de traduire "www.google.fr" en une requête HTTP (couche présentation)

    - On se charge d'établir une connexion avec le serveur pour la réponse (couche session)

    - On défini quel moyen de communication on va utiliser : TCP ou UDP ? avec ou sans contrôle ? dans le cas du navigateur on va choisir TCP car on veut être sur de l'intégrité des données. Puis on donne le port cible du serveur (port 80 pour le HTTP, 21 FTP, ou un port personnalisé ...) (on est dans la couche transport)

    - Le serveur à joindre est sur quelle adresse IP ? (le DNS nous a dit google.fr = 74.125.133.94) donc on va envoyer notre requête à 74.125.133.94 en passant par ma passerelle par défaut (exemple box internet) car je ne connais pas le chemin réseau pour joindre 74.125.133.94 (couche réseau)

    - Comment je joint ma passerelle par défaut et par quelle interface (wifi ou filaire) ? j'utilise les adresse MAC (couche liaison de donnée)

    - Enfin j’envoie les données de ma requête HTTP sur le câble réseau (couche physique)

    coté serveur :

    - Je reçois les données de ma carte réseau (couche physique)

    - Les données proviennent de qui sur le réseau local (box internet du serveur) ? (couche liaison de données)

    - quel est l'IP source du message ? 78.285.15.33 (couche réseau)

    -le port de destination est le port 80 : ecce que j'ai une application qui écoute sur le port 80 ? oui il s’agit du "serveur web" (couche transport)
    - - le message réclame t'il une connexion TCP ? oui établissement d'une liaison TCP et vérification de l'intégrité du message (couche transport)

    - la carte réseau envoie le message reçu à l'application "serveur web" qui va accepter ou non la connexion entrante (couche sessions)

    - le "serveur web" décode le message reçu (requête HTTP) (couche présentation)

    - le client m'a demandé la page "www.google.fr" (couche application)

    Dans ton cas si ton client ne supporte pas le FTP, sois tu développe une application pour qu'il "l’apprenne" (voir en détails les requêtes/échanges pour le développement du client FTP), sois tu utilise un protocole qu'il supporte (à la couche application), sois tu développe ton propre protocole maison


    en espérant avoir aidé
    Bonne journée

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2010
    Messages
    103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2010
    Messages : 103
    Points : 76
    Points
    76
    Par défaut
    merci. je connaissais le modèle OSI. mais le rappel est bon.

    j'ai finalement développé le serveur socket en tcp. Je récupère mes données.
    Merci pour votre aide.

    gilbert.
    Merci de votre aide.
    Gilbert.

  10. #10
    Nouveau Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2015
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2015
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    J'ai le même problème que vous, gilbert, je veux envoyer des fichiers mais je ne peux pas utiliser le ftp. Comment avez vous implémenté votre socket tcp s'il vous plait ?

  11. #11
    Expert éminent Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 035
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 035
    Points : 8 400
    Points
    8 400
    Par défaut
    salut,

    2 possibilités :
    • utiliser netcat (également dispo pour windows), un truc du genre nc -l -p 1234 > fichier
    • ou alors savoir programmer un tout petit peu auquel cas le principe est tout aussi simple, consiste à attendre qu'un client se connecte et le cas échéant écrire dans un fichier tout ce qu'on lira dans la socket

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Envoyer un fichier sur un serveur FTP
    Par zenico64 dans le forum Général VBA
    Réponses: 3
    Dernier message: 26/11/2010, 09h27
  2. Envoyer un fichier sur un serveur ftp
    Par Pascmar dans le forum Réseau/Web
    Réponses: 2
    Dernier message: 15/08/2007, 23h16
  3. Envoyer un fichier sur un serveur au navigateur
    Par Shogun dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 20/09/2006, 08h39
  4. Envoyer un fichier sur un serveur FTP par proxy
    Par Tierisa dans le forum Access
    Réponses: 4
    Dernier message: 13/12/2005, 16h39
  5. Quel langage pour envoyer un fichier sur une adresse
    Par dai.kaioh dans le forum Développement
    Réponses: 2
    Dernier message: 02/04/2004, 16h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo