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 :

Sockets entre Windev et Delphi [WD12]


Sujet :

WinDev

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Par défaut Sockets entre Windev et Delphi
    Bonjour,

    J'ai crée une appli Windev qui arrive à recevoir (en mode serveur) une chaine de caractères depuis l'exemple "Utilisation des Sockets".

    J'ai fait aussi une appli qui fonctionne en tant que client en Delphi et qui arrive à envoyer une chaine de caractères à un Serveur crée en Delphi.

    Maintenant je voudrais utiliser ce client en Delphi avec le serveur en Windev... mais je n'arrive pas à faire fonctionner. Bizzarement je ne reçois la chaine de caractères qu'après avoir déconnecté le client en Delphi et pas lors de l'envoi.

    Voici le code utilisé côté Windev :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SI PAS SocketCrée("Serveur", 2000) ALORS
    	Erreur("erreur création " + ErreurInfo(errMessage))
    SINON
    	SI SocketChangeModeTransmission("Serveur", SocketMarqueurFin)= Vrai ALORS
    		Info("mode de transmission modifié")
    	FIN
    	ThreadExécute("Thread1", threadNormal, ProcédureAttente)
     
    FIN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    PROCEDURE ProcédureAttente()
    SAI_Activite = SAI_Activite + " Attente de connexion "
    BOUCLE
    	Multitâche(-2)
    	SI SocketAttendConnexion("Serveur") ALORS
    		Canal est une chaîne
    		Canal = SocketAccepte("Serveur")
    	//	ThreadExécute(Canal, threadNormal, ProcédureGestion, canal)
     
    		SAI_Activite = SAI_Activite + "Connexion en attente sur " + Canal
    	//	ProcédureGestion(Canal)
    		Gestion_connexions(Canal)
    	FIN
    FIN
    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
    PROCEDURE Gestion_connexions(canal)
     
    sMessage est une chaîne
    sIp est une chaîne = SocketClientInfo(canal,SocketAdresse)
    SAI_Activite = SAI_Activite + "Gestion de la connec : " + sIp
    // Lecture des messages
    BOUCLE
     
    	SI SignalAttend("TERM",5) ALORS SORTIR
     
     
    	sMessage = SocketLit(canal,Faux,10)
    //	SAI_Activite = SAI_Activite + "Message recup :  " + sMessage
    	SELON sMessage
    		CAS "BYE" :
    			// Sortie de l'utilisateur
    			SORTIR
     
    		CAS "" :
    			// Ce n'est pas une lecture bloquante, on retourne dans la boucle
    			Multitâche(-1)
     
    		AUTRES CAS :
    			// Message à poster			
    			SAI_Valeur_Recue = sMessage			
    	FIN
    FIN
     
    // Fermeture de la socket
    SocketFerme(canal)
    SAI_Activite = SAI_Activite + "Fermeture Socket"

    Avez vous des idées ? Quelqu'un as réussi à faire fonctionner un serveur de sockets Windev avec un client autre ?

    Merci

  2. #2
    Membre éprouvé
    Avatar de Harry
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2002
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 224
    Par défaut
    Bonjour,

    J'ai finalement trouvé, il faut pour Delphi (Composant standard TClientSocket) changer le mode avec la fonction "SocketChangeModeTransmission" en "SocketSansMarqueurFin" en effet il attendais des marqueurs que le composant Delphi ne fournissais pas. (D'après la doc de Windev ça dois être le composant Delphi qui ne dois pas être standard).

    Merci à tout ceux qui ont lu ce sujet et en espérant que cette info puisse aider.

  3. #3
    Membre Expert
    Avatar de Emmanuel Lecoester
    Profil pro
    Inscrit en
    Février 2003
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2003
    Messages : 1 493
    Par défaut
    Merci beaucoup pour ce retour.

  4. #4
    Membre confirmé
    Homme Profil pro
    Electricien
    Inscrit en
    Juillet 2013
    Messages
    74
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Bâtiment

    Informations forums :
    Inscription : Juillet 2013
    Messages : 74
    Par défaut problème réception socket
    Bonjour ,

    voyant vos connaissances des 2 langages, je me permet de vous posez cette question.

    Je suis confronté à un problème j'ai créer un serveur en delphi et un client en windev mobile, lorsque j'envoie un texte à la réception sur le serveur j'ai un chiffre devant le texte correspondant au nombre de lettre du mot

    exemple j'envoie "test"

    Je reçois " 4test"

    pouvez vous m'aider à corriger ce but

    cordialement

    Oscar

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

Discussions similaires

  1. Problème Socket windev vers Delphi
    Par Oscar02 dans le forum WinDev
    Réponses: 0
    Dernier message: 21/04/2014, 04h09
  2. Probème de type entre access et delphi
    Par samlerouge dans le forum Bases de données
    Réponses: 5
    Dernier message: 23/05/2004, 20h56
  3. Réponses: 3
    Dernier message: 30/03/2004, 10h38

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