|
Iniciado por Yann BOUSSATON, 24,ene. 2006 17:38 - 7 respuestas |
| |
| | | |
|
| |
Publicado el 24,enero 2006 - 17:38 |
bonjour,
j'aimerai réaliser un logiciel client se connectant a un logiciel serveur via les sockets.
le logiciel client enverrai des requetes sql
le logiciel serveur receptionnerai ses requetes, ferai la requete et renverrai le resultat au logiciel client.
la j'ai deja quelques probleme et quelques question:
sur le logiciel serveur:
INITIALISATION :
SI PAS SocketCrée("Serveur","8000") ALORS // Erreur lors de la création de socket Erreur("Impossible de créer la socket de lecture",ErreurInfo()) // Cette application ne peut pas fonctionner sans cette socket FinProgramme() SINON ThreadExécute("Thread1", threadNormal, ProcédureAttente) FIN
PROCEDUREATTENTE:
BOUCLE SI SocketAttendConnexion("Serveur") ALORS Canal est une chaîne SocketAccepte("Serveur") ThreadExécute("Canal", threadNormal, ProcedureGestion) SORTIR FIN FIN
PROCEDUREGESTION:
TANTQUE SocketExiste ( "Serveur" ) sMsg est une chaîne = SocketLit ( "Serveur" , Vrai ) SI sMsg<>"" ALORS ListeAjoute ( Fenêtre1.Messages1 , Maintenant () + " " + SocketClientInfo("Serveur",SocketAdresse) ) ListeAjoute ( Fenêtre1.Messages1 , Maintenant () + " " + sMsg ) FIN FIN
Quand le logiciel client se connecte au serveur, le serveur me dis qu'il est bien connecter mais quand je fais un socketclientinfo je n'ai rien, ah si un jolie 0.
sinon quand sa veut bien fonctionner (par miracle) le logiciel client envoi un socketecrit (ex: socketecrit("Serveur", "Salut")) au serveur mais le logiciel serveur ne peut pas envoyer une socket au logicle client (ex: socketecrit("Serveur","ReSalut","192.168.0.2") ne fonctionne pas)
Je ne comprends rien mais bon je debute tout juste sur les sockets.
D'avance merci ! |
| |
| |
| | | |
|
| | |
| |
Publicado el 24,enero 2006 - 17:55 |
avant de travailler sur les sockets, sais-tu comment revoyer les données (je parle du format de retour de n'importe quel SGBD)
Yann BOUSSATON a utilisé son clavier pour écrire :
bonjour,
j'aimerai réaliser un logiciel client se connectant a un logiciel serveur via les sockets.
le logiciel client enverrai des requetes sql
le logiciel serveur receptionnerai ses requetes, ferai la requete et renverrai le resultat au logiciel client.
la j'ai deja quelques probleme et quelques question:
sur le logiciel serveur:
INITIALISATION :
SI PAS SocketCrée("Serveur","8000") ALORS // Erreur lors de la création de socket Erreur("Impossible de créer la socket de lecture",ErreurInfo()) // Cette application ne peut pas fonctionner sans cette socket FinProgramme() SINON ThreadExécute("Thread1", threadNormal, ProcédureAttente) FIN
PROCEDUREATTENTE:
BOUCLE SI SocketAttendConnexion("Serveur") ALORS Canal est une chaîne SocketAccepte("Serveur") ThreadExécute("Canal", threadNormal, ProcedureGestion) SORTIR FIN FIN
PROCEDUREGESTION:
TANTQUE SocketExiste ( "Serveur" ) sMsg est une chaîne = SocketLit ( "Serveur" , Vrai ) SI sMsg<>"" ALORS ListeAjoute ( Fenêtre1.Messages1 , Maintenant () + " " + SocketClientInfo("Serveur",SocketAdresse) ) ListeAjoute ( Fenêtre1.Messages1 , Maintenant () + " " + sMsg ) FIN FIN
Quand le logiciel client se connecte au serveur, le serveur me dis qu'il est bien connecter mais quand je fais un socketclientinfo je n'ai rien, ah si un jolie 0.
sinon quand sa veut bien fonctionner (par miracle) le logiciel client envoi un socketecrit (ex: socketecrit("Serveur", "Salut")) au serveur mais le logiciel serveur ne peut pas envoyer une socket au logicle client (ex: socketecrit("Serveur","ReSalut","192.168.0.2") ne fonctionne pas)
Je ne comprends rien mais bon je debute tout juste sur les sockets.
D'avance merci !
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. " |
| |
| |
| | | |
|
| | |
| |
Publicado el 24,enero 2006 - 18:25 |
pour l'instant j'ai reussi a ce que le logiciel client envoi une requete sql et que le logiciel client l'execute et renvoi le resultat.
Maintenant mon seul probleme c'est au nivau de la gestion du ou des sockets.
avec 1 logiciel client et un logiciel serveur tout fonctionne mais avec 2 logiciel client et 1 logiciel serveur et 1 socket sa plante.
Et je ne voit pas de ce que tu veut parler pour "je parle du format de retour de n'importe quel SGBD"? Si tu pouvez expliquer, merci. |
| |
| |
| | | |
|
| | |
| |
Publicado el 24,enero 2006 - 18:54 |
dans quel format vas tu renvoyer au client le résultat de la requete ? comment vas tu formater les données à renvoyer ?
Yann BOUSSATON avait écrit le 24/01/2006 :
pour l'instant j'ai reussi a ce que le logiciel client envoi une requete sql et que le logiciel client l'execute et renvoi le resultat.
Maintenant mon seul probleme c'est au nivau de la gestion du ou des sockets.
avec 1 logiciel client et un logiciel serveur tout fonctionne mais avec 2 logiciel client et 1 logiciel serveur et 1 socket sa plante.
Et je ne voit pas de ce que tu veut parler pour "je parle du format de retour de n'importe quel SGBD"? Si tu pouvez expliquer, merci.
-- Pierre BOUSQUET
" Ne me dites pas que ce problème est difficile. S'il n'était pas difficile, ce ne serait pas un problème. " |
| |
| |
| | | |
|
| | |
| |
Publicado el 24,enero 2006 - 19:00 |
Bonsoir,
que cherhez vous à faire exactement?
Car si vous voulez "discuter" avec un serveur MySQL avec les sockets bon courage, car le moteur ne vas pas interprèter directement des ordres SQL, mais votre commande SQL doit passer par un "traducteur" qui est la fonction de la libmysql.dll
"Yann BOUSSATON" <net-site@wanadoo.fr> writes:
bonjour,
j'aimerai réaliser un logiciel client se connectant a un logiciel serveur via les sockets.
le logiciel client enverrai des requetes sql
le logiciel serveur receptionnerai ses requetes, ferai la requete et renverrai le resultat au logiciel client.
la j'ai deja quelques probleme et quelques question:
sur le logiciel serveur:
INITIALISATION :
SI PAS SocketCrée("Serveur","8000") ALORS // Erreur lors de la création de socket Erreur("Impossible de créer la socket de lecture",ErreurInfo()) // Cette application ne peut pas fonctionner sans cette socket FinProgramme() SINON ThreadExécute("Thread1", threadNormal, ProcédureAttente) FIN
PROCEDUREATTENTE:
BOUCLE SI SocketAttendConnexion("Serveur") ALORS Canal est une chaîne SocketAccepte("Serveur") ThreadExécute("Canal", threadNormal, ProcedureGestion) SORTIR FIN FIN
PROCEDUREGESTION:
TANTQUE SocketExiste ( "Serveur" ) sMsg est une chaîne = SocketLit ( "Serveur" , Vrai ) SI sMsg<>"" ALORS ListeAjoute ( Fenêtre1.Messages1 , Maintenant () + " " + SocketClientInfo("Serveur",SocketAdresse) ) ListeAjoute ( Fenêtre1.Messages1 , Maintenant () + " " + sMsg ) FIN FIN
Quand le logiciel client se connecte au serveur, le serveur me dis qu'il est bien connecter mais quand je fais un socketclientinfo je n'ai rien, ah si un jolie 0.
sinon quand sa veut bien fonctionner (par miracle) le logiciel client envoi un socketecrit (ex: socketecrit("Serveur", "Salut")) au serveur mais le logiciel serveur ne peut pas envoyer une socket au logicle client (ex: socketecrit("Serveur","ReSalut","192.168.0.2") ne fonctionne pas)
Je ne comprends rien mais bon je debute tout juste sur les sockets.
D'avance merci !
-- suivre ce lien pour répondre: http://cerbermail.com/… Daniel
|
| |
| |
| | | |
|
| | |
| |
Publicado el 24,enero 2006 - 20:58 |
Dans une variable standard crypter. et sa fonctionne.
par contre je ne peut faire de requete complexe. |
| |
| |
| | | |
|
| | |
| |
Publicado el 24,enero 2006 - 21:01 |
Salut!
Oulalalalalala! :-?
1°) Il faudrait, juste après voir créé ta socket serveur, régler le mode de transmission par SocketChangeModetransmission.
2°) Revoie ta procédure d'attente car tu ne récupères pas le nom de ta socket cliente créée et tu ne la passes pas à ta procédure de gestion!
Donc fais plutôt:
PROCEDUREATTENTE()
BOUCLE SI PAS SocketExiste("Serveur") alors SORTIR SI SocketAttendConnexion("Serveur") ALORS Canal est une chaîne = SocketAccepte("Serveur") SI PAS Canal="" _ET_ ThreadEtat(Canal)=ThreadInexistant ALORS ThreadExécute(Canal,threadNormal,ProcedureGestion,Canal) SINON SI SocketExiste(Canal) ALORS SocketFreme(Canal) FIN FIN FIN
3°) Revoie également ta procédure de gestion (Lecture sur la socket cliente et non sur la socket serveur!)
PROCEDUREGESTION(Canal)
TANTQUE SocketExiste (Canal) sMsg est une chaîne = SocketLit (canal,vrai) SI sMsg<>"" ALORS ListeAjoute ( Fenêtre1.Messages1 , Maintenant () + " " + SocketClientInfo(Canal,SocketAdresse) ) ListeAjoute ( Fenêtre1.Messages1 , Maintenant () + " " + sMsg ) FIN FIN
PS: Code tapé hors de Windev, donc, il y a peut-être des erreurs ;D |
| |
| |
| | | |
|
| | |
| |
Publicado el 25,enero 2006 - 11:26 |
Bonjour,
Concernant la communication entre un Serveur d'écoute Socket et plusieurs Client Socket, je te conseille de voir du coté de l'exemple didactique "WD Utilisation des sockets".
Je m'en suis inspiré pour mettre en place un système de transmission d'informations entre les clients et un serveur, et cela marche très bien.
@+, JF |
| |
| |
| | | |
|
| | | | |
| | |
|