PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 2024 → SOCKET HELP
SOCKET HELP
Débuté par christophe.krahenbuhl, 28 oct. 2005 16:11 - 2 réponses
Posté le 28 octobre 2005 - 16:11
Bonjour a tous

Je m'adresse a vous car je rencontre un petit soucis avec socketecrit.

Nous communiquons avec un programme tiers qui nous envois des requetes SQL via SOCKET.
Pour l'instant tout fonctionne correctement, mais quand nous envoyons la socketecrit, windev ferme la socket malgrès que j'ai enlever SOCKETFERME.

Nous sommes partie de la base de l'exemple SOCKET de windev9.

Est qu'il y a un moyen d'interdire la fermeture de la socket.
Exemple
Si pas socket alors j'accepte la connexion et je la conserve pour communiquer ect....

Merci de vos aide as tous

Christophe
Posté le 29 octobre 2005 - 09:44
Bonjour,

Je m'adresse a vous car je rencontre un petit soucis avec socketecrit.
Nous communiquons avec un programme tiers qui nous envois des requetes SQL
via SOCKET. Pour l'instant tout fonctionne correctement, mais quand nous
envoyons la socketecrit, windev ferme la socket malgrès que j'ai enlever
SOCKETFERME.


Le problème vient certainement de ta gestion des sockets (celle qui
accepte les connections de ton programme tiers et celle(s) acceptée(s)
par la précédente).

Revois ton code car la fonction socketécrit ne ferme absolument pas la
socket sur laquelle on écrit.

A+
Posté le 02 novembre 2005 - 11:18
Salut

Ci-joint le code

SI SocketCrée(csNomSocketEcoute,adresseport) ALORS
// Lancement du thread d'écoute
ThreadExécute(csNomThreadEcoute,threadNormal,"EcouteConnexions")
SI SocketChangeModeTransmission (csNomSocketEcoute , SocketSansMarqueurFin)= Vrai ALORS
FIN
connexion_data()



EcouteConnexions
BOUCLE
SI SocketAttendConnexion(csNomSocketEcoute) ALORS

// Nouvelle demande de connexion
// Dans cet exemple, on accepte les connexions
sNomCanal = SocketAccepte(csNomSocketEcoute)

// Vérification de l'opération d'acceptation
SI sNomCanal~="" ALORS
ListeAjoute("SOCKET : Impossible de créer la socket nécessaire à la nouvelle connexion")
SORTIR
SINON
// On lance un thread pour gérer cette connexion
sNomThread = sNomCanal

ThreadExécute(sNomThread,threadNormal,"GestionConnexion",sNomCanal)

FIN
FIN
FIN

Il y a d'autres code derrière, as tu besoin de tout ????
Je ne peux envoyer le programme tiers


Je suis partie de l'exemple de Windev avec adaptation.

Comment on peux envoyer un message uniquement à une socket ???

MErci de ton aide