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

C++ Discussion :

Envoyé les données d'un fichier TXT via telnet


Sujet :

C++

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut Envoyé les données d'un fichier TXT via telnet
    Bonjour,
    Je suis débutant en C++ et comme le dit d'intitulé du message, je voudrais envoyé ligne par ligne les données d'un fichier .TXT via telnet.
    J'ai commencé un bout de code. je suis sous linux.
    J'ouvre le telnet est le code ci-dessous envoi bien "test" (variable EnvoiFichierTXT) dans Telnet.
    Comment faire pour envoyer les données d'un fichier ?
    Merci pour votre aide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
     
    #include <stdio.h>
    #include <sys/socket.h>
    #include <arpa/inet.h>
    #include <unistd.h>
    #include <string.h>
    #include "variable.h"
    #include "TCPClient.h"
    #define PORT 8080
     
    int main(int argc, char const *argv[])
    {
    	int test = 0;
    	int sock = 0, valread;
    	struct sockaddr_in serv_addr;
    	char const *EnvoiFichierTXT = "test";
     
    	//création de la socket
    	char buffer[1024] = {0};
    	if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0)
    	{
    		printf("\n Socket creation error \n");
    		return -1;
    	}
     
    	serv_addr.sin_family = AF_INET;
    	serv_addr.sin_port = htons(PORT);
     
    	// Convert IPv4 and IPv6 addresses from text to binary form
    	if(inet_pton(AF_INET, "127.0.0.1", &serv_addr.sin_addr)<=0)
    	{
    		printf("\nInvalid address/ Address not supported \n");
    		return -1;
    	}
     
    	if (connect(sock, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0)
    	{
    		printf("\nConnection Failed \n");
    		return -1;
    	}
    	send(sock , EnvoiFichierTXT , strlen(EnvoiFichierTXT) , 0 );
    	printf("Message sent\n");
    	valread = read( sock , buffer, 1024);
    	printf("%s\n",buffer );
    	return 0;
    }

  2. #2
    Membre Expert Avatar de Astraya
    Homme Profil pro
    Consommateur de café
    Inscrit en
    Mai 2007
    Messages
    1 048
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Consommateur de café
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 048
    Par défaut
    D'après toi? J'ai bien la réponse... Mais la je me dis que tu n'as pas chercher....

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 99
    Par défaut
    OK,
    C'est bon, comme tu le dis si bien, en cherchant un peu plus, on trouve
    Par contre, maintenant, je cherche à fermé la connexion telnet à la fin de l'envoi des données.
    Mais bon, je vais cherché encore un peu ...
    Bon Noel
    Je garde ouvert ce message en attend de trouver mon autre problème.

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 832
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 832
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par patou41000 Voir le message
    C'est bon, comme tu le dis si bien, en cherchant un peu plus, on trouve
    Content que tu aies réussi. Ceci dit, l'envoi de données par lignes n'était pas obligatoire. Après tout, pour envoyer des données, l'important ce n'est pas la façon dont les données sont transmises mais qu'elles arrivent. Tu peux les envoyer ligne par ligne ou bien par blocs de n octets (ce qui est déjà plus simple), l'important c'est que les données soient bien réassembées à l'arrivée. Le concept de "ligne" est un concept utile à l'humain, pas à l'informatique.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 147
    Billets dans le blog
    4
    Par défaut
    recv permet de recevoir jusqu'à n octets, pour recevoir juste "test" ça passera, mais pour un vrai gros buffer, y'a moins de chance que ça suffise.
    Quant à arrêter la connection, il suffit de fermer son socket avec close (closesocket sous Windows).
    https://bousk.developpez.com/cours/r...reception/#LII
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

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

Discussions similaires

  1. [OpenOffice][Base de données] Récupérer les données d'un fichier .txt et les insérer dans une base de données
    Par frack dans le forum OpenOffice & LibreOffice
    Réponses: 9
    Dernier message: 05/08/2009, 10h52
  2. Réponses: 1
    Dernier message: 17/03/2009, 16h33
  3. charger les données d'un fichier .txt dans une table
    Par lemerite dans le forum Développement
    Réponses: 6
    Dernier message: 10/09/2008, 18h33
  4. Réponses: 2
    Dernier message: 19/03/2007, 17h38
  5. [Debutant] Travailler les données d'un fichier txt
    Par Jidewe dans le forum Débuter
    Réponses: 4
    Dernier message: 16/01/2007, 10h31

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