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:
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:
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:
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
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