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 :

Tcp Client envoi de données [Fait]


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 30
    Par défaut Tcp Client envoi de données
    Bonjour,

    Comment être sur qu'une data à bien été envoyée et reçu par un serveur ?

    De plus ,quelle méthode choisir pour le tcpClient.
    J'ai vu 2 méthodes différentes je vois pas trop la différence et quand utiliser l'une plutôt que l'autre.

    Methode 1 = Utilisation de new TcpClient() et send :
    http://www.codeproject.com/KB/IP/tcpclientserver.aspx

    Methode 2 = Utilisation de new Socket et Write :
    http://www.java2s.com/Tutorial/CShar...otheserver.htm

    Merci d'avance.

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Chromozome Voir le message
    Comment être sur qu'une data à bien été envoyée et reçu par un serveur ?
    Une caractéristique du protocole TCP est de s'assurer que "l'interlocuteur" a bien reçu les données. Si ce n'est pas le cas, une exception sera levée.

    Citation Envoyé par Chromozome Voir le message
    De plus ,quelle méthode choisir pour le tcpClient.
    J'ai vu 2 méthodes différentes je vois pas trop la différence et quand utiliser l'une plutôt que l'autre.

    Methode 1 = Utilisation de new TcpClient() et send :
    http://www.codeproject.com/KB/IP/tcpclientserver.aspx

    Methode 2 = Utilisation de new Socket et Write :
    http://www.java2s.com/Tutorial/CShar...otheserver.htm
    Socket est plus générique, et ne sert pas seulement à la communication TCP. TcpClient est un "wrapper" autour d'un socket pour protocole TCP, c'est un peu plus facile à utiliser

  3. #3
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 30
    Par défaut
    Merci pour la réponse rapide et clair.

  4. #4
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    J'aime bien se tuto parce qu'il est simple. Mais il faut y ajouter sa touche personelle :
    http://vincentlaine.developpez.com/t...chrone/csharp/

  5. #5
    Membre averti
    Inscrit en
    Janvier 2004
    Messages
    30
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 30
    Par défaut
    Avec cela je me demande si je dois choisir une connexion synchrone ou asynchrone. Quelle sont les bonnes pratiques ou les critères pour faire le bon choix ? Mon besoin ça va être l'envoi de message (genre chat) et de fichier plus ou moins volumineux (photo, vidéos ...). Je pencherais pour du synchrone mais pour le fichier si il sont gros genre 600Mo avec le hashage et l'envoi par packet est ce judiicieux ...

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Si c'est des gros fichiers tu as plutôt intérêt à le faire en asynchrone, sinon ton application va "freezer" pendant le transfert

  7. #7
    Membre émérite Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    617
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 617
    Par défaut
    Ou la,la....
    C'est pas une mince affaire. Il faut pas mal de compréhension sur le sujet.
    Citation Envoyé par Chromozome Voir le message
    Comment être sur qu'une data à bien été envoyée et reçu par un serveur ?
    En principe, un protocole TCP assure que le serveur reçoit le message envoyé par le client.
    Toutefois, pour être tout à fait sûr de ton coup, le serveur devrait te renvoyer un accusé de réception.

    Maintenant, dans les deux exemples que tu mentionne, le client travaille en mode bloquant. C'est une solution mais pas forcément dans tous les cas.
    Recherche aussi l'emploi de méthodes asynchrones.
    http://msdn.microsoft.com/fr-fr/libr...a8(VS.80).aspx

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

Discussions similaires

  1. Client/Serveur problème envoi de données
    Par france38 dans le forum Débuter
    Réponses: 0
    Dernier message: 02/05/2011, 10h49
  2. Réponses: 3
    Dernier message: 02/03/2009, 22h34
  3. Déconnexion du client après un envoi de données
    Par tekken59 dans le forum Réseau
    Réponses: 15
    Dernier message: 31/12/2008, 00h28
  4. envoi des données d'un poste client vers le serveur
    Par ouadie99 dans le forum ASP.NET
    Réponses: 5
    Dernier message: 11/06/2008, 11h52

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