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

Dotnet Discussion :

Questions sur les sockets (fonctions synchrones)


Sujet :

Dotnet

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 68
    Par défaut Questions sur les sockets (fonctions synchrones)
    Bonjour

    J'utilise les sockets pour la premier fois en .Net et je suis assez perdu face aux différences avec le VB6.

    Tout d'abord, il n'y a pas d'autres solutions pour savoir si des données ont été reçu que d'utiliser un timer pour faire Receive ? Parce que si on prend un timer trop lent, on va perdre en performances réseau et si trop rapide, on va bouffer le CPU pour rien.

    J'ai aussi un problème sur les buffers. Si on essaye d'envoyer en une fois plus que le buffer l'autorise, on perd des données ? Donc il faut bien splitter les données pour les envoyer en 2 fois.
    Comment faites vous pour indiquer que les données sont sur X "paquets" à votre application ?
    Et si on utilise les timers pour faire Socket.Receive, imaginons que le client envoye 2 paquets (dont un ayant la taille du buffer donc) en 100ms et que le serveur a aussi un timer de 100ms, on va perdre des données ? Comment faites vous pour que ça ne se produise pas ? J'ai pensé à une pile. Comme le serveur dans ce cas va recevoir, le client va empiler ce qu'il a à envoyer et désempiler à chaque 100ms.

    Voila, c'est peut être bête mais je n'ai pas trouvé de doc sur ceci à part des tuts basiques sur les sockets.

  2. #2
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 72
    Par défaut Socket en .Net
    Alors cela dépend ce que tu veux faire dans ton program mais je t'invite a regarder le Remoting c'est très pratique de nos jours en .Net.

    Sinon pour ton problème d'envoi je n'ai jamais eu de soucis d'envoi de paquet. Je met le buffeur que je veux envoyer et le .Net gère pour moi le découpage en paquet et la concordance des paquets reçus

  3. #3
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 68
    Par défaut
    Ah d'accord, il gère le découpage tout seul.
    Le remoting ne va pas car il n'est pas présent dans le Compact Framework (le client est un Smartphone).
    Sinon pour la réception, tu utilises des timers ? Il n'y a aucune autre solution ?
    Merci pour ta réponse

  4. #4
    Membre confirmé
    Inscrit en
    Juillet 2004
    Messages
    72
    Détails du profil
    Informations forums :
    Inscription : Juillet 2004
    Messages : 72
    Par défaut Nullement
    Je ne coprend pas pourquoi tu aurais besoin d'un timer explique ?

  5. #5
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    68
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 68
    Par défaut
    Pour faire Socket.Receive, qui permet de récupèrer le contenu du buffer. Etant donné qu'il n'y a plus d'évenement "OnReceive" (ou du genre) comme en VB6, j'ai pas vu comment faire d'autre, et jai vu des exemples de codes sources qui utilisent aussi un timer pour faire Socket.Receive.
    Tu peux aussi vérifier Socket.Available avant de faire Socket.Receive pour vérifier s'il y a des données reçues, histoire de ne pas faire Receive s'il n'y a rien, pour ne pas "geler" le socket en attendant des données.

  6. #6
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut
    Oulala, je te conseille un petit tutos sur les sockets :
    Par ici

    Bonne chance !
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

Discussions similaires

  1. [debutant][Client-serveur] Question sur les sockets
    Par skwi6 dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 06/11/2006, 15h04
  2. Question sur les socket AF_UNIX
    Par Mr_Chut dans le forum Réseau
    Réponses: 3
    Dernier message: 10/06/2006, 11h42
  3. Questions sur les socket
    Par lapras123 dans le forum Réseau
    Réponses: 13
    Dernier message: 09/06/2006, 16h34
  4. Encore une petite question sur les sockets...
    Par damien99 dans le forum MFC
    Réponses: 4
    Dernier message: 15/02/2006, 14h22
  5. [WinSock] Question sur les sockets (accept)
    Par Grey dans le forum MFC
    Réponses: 3
    Dernier message: 09/01/2006, 11h37

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