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

WinDev Discussion :

SocketLit() est bloquante ?


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    471
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 471
    Points : 124
    Points
    124
    Par défaut SocketLit() est bloquante ?
    Hello !

    Je viens de me rendre compte que l'instruction socketLit() est bloquante sur la socket ?? on peut pas écrire en même temps ?
    Et c'est marqué nul part ça !!

    Comment peut-on alors détecter que nous avons rien eu sur la socket pendant x temps ?

    merci pour vos avis !!

  2. #2
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 381
    Points : 9 547
    Points
    9 547
    Par défaut
    Bonjour,

    Si tu ajoutes le paramètre d'attente à faux, ça n'est pas censé bloquer.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SocketLit("MaBelleSocket", Faux)

  3. #3
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    471
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 471
    Points : 124
    Points
    124
    Par défaut
    alors

    en faisant ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SocketLit(:m_sMonCanal,Faux,4 s)
    si rien arrive sur la socket pendant les 4 secondes, tu n'arrives pas à faire de socketEcrit() depuis un autre thread.
    La socket semble être bloquée.

    Je pensais utiliser ce pseudo "timeout" pour détecter l'absence de communication, mais c'est pas une bonne idée.

    Ducoup j'ai baisser ce "timeout" à 100 ms, et j'utilise un chronomètre pour tester l'absence de com.

    ça marche bien.

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 881
    Points : 5 449
    Points
    5 449
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Citation Envoyé par jjacques68 Voir le message
    j'utilise un chronomètre pour tester l'absence de com.
    Pourquoi ne pas utiliser une procédure automatique, qui est nettement plus souple, surtout dans l'utilisation des thread

  5. #5
    Membre régulier
    Inscrit en
    Mars 2010
    Messages
    471
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 471
    Points : 124
    Points
    124
    Par défaut
    si tu as un exemple simple, je suis preneur

    après franchemet le coup du chronomètre est ultra simple...

  6. #6
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 881
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 881
    Points : 5 449
    Points
    5 449
    Billets dans le blog
    1
    Par défaut
    Lorsque tu crée/édite une procédure, tout se fait au niveau du réglage en cliquant l'icône qui va bien.

  7. #7
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 381
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 381
    Points : 9 547
    Points
    9 547
    Par défaut
    Bonjour,

    Bonne idée que celle de Voroltinquo.

    Ca te permettra de gérer en timer ou en thread.

    "L'inconvénient" des socketxxx, c'est que suivant ce qu'il y a en face, le fonctionnement sera très différent.

Discussions similaires

  1. Réponses: 10
    Dernier message: 27/02/2015, 11h21
  2. L'utilisation d'une variable dans une formule est-elle bloquante
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/11/2011, 11h09
  3. [C#] Pourquoi un préfixe namespace est bloquant ?
    Par Maximil ian dans le forum Services Web
    Réponses: 13
    Dernier message: 31/07/2007, 18h38
  4. [VB6] Winsock est'il bloquant ?
    Par johnson95 dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 16/06/2006, 11h29
  5. Fenetres bloquant d'autres fenêtres?. Est-ce possible?
    Par koolway dans le forum AWT/Swing
    Réponses: 10
    Dernier message: 18/04/2006, 14h04

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