cs_Davidoff
Messages postés3Date d'inscriptionvendredi 22 mars 2002StatutMembreDernière intervention 5 avril 2002
-
28 mars 2002 à 15:55
cs_Crazyht
Messages postés1522Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention21 août 2010
-
5 avril 2002 à 18:54
Bonjour !
Je cherche actuellement a faire "discuter" des applis sur plusieurs ordi. Il y a un poste serveur qui est equipé d'une carte de mesure, et je voudrais que des applis clientes sur des PC a part interroge ce serveur pour obtenir diverses mesures.
Pour faire cela, j'ai commencé par définir un type de donnée contenant des infos sur l'adresse de l'emetteur, le nom de la variable demandée, la valeur, ...) et puis mj'ai essayé de faire transiter ces données a l'aide de Winsock. Ca marche pas...
Je voudrais donc savoir si Winsock peut me permettre de faire transiter des données définies par TYPE, et si non comment on fait avec les API.
Merci de me filer un coup de main.
Si comme moi vous ete emmerdé avec ce type de détail, faite le savoir et dès que j'ai trouvé, si on me réponds pas ici, je le ferais savoir.
cs_Crazyht
Messages postés1522Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention21 août 20108 29 mars 2002 à 10:10
C'est un leurre de penser qu'il est possible de faire transiter une structure par un socket pour la bonne est simple raison qu'une structure ne se definit pas à l'identique dans tous les language de programmation et encore moins entre deux systemes d'exploitation. De plus les sockets sont des protocole de bas niveau et ce n'est pas leur role. Si tu avez un peu eudié les principes rezo, tu saurais que c'est a l'application de s'occuper de se genre de choses.
cs_Crazyht
Messages postés1522Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention21 août 20108 29 mars 2002 à 10:54
Cree un protocole de communication de haut niveau du style :
[Mot Clé] = Valeur [Fin Valeur]
[Mot Clé] = Valeur [Fin Valeur]
[Mot Clé] = Valeur [Fin Valeur]
cs_Davidoff
Messages postés3Date d'inscriptionvendredi 22 mars 2002StatutMembreDernière intervention 5 avril 2002 5 avril 2002 à 10:02
T'inquiète pas pour mes principes sur le rezo, je sors de l'ecole : Tu crois que je devellope quoi en VB? un nouveau protocole de com?
Mon soucis vient juste du fait que je l'OCX Winsock est pour moi une boite noire et que vu que l'on peut faire transiter des données, je ne comprenais pas trop pourquoi ca marchais pas avec des données structurées...
Enfin merci pour ton premier message car il m'a filé l'idée qui m'a permis de m'en sortir : J'ai ecrit deux fonctions toutes connes de codages et de décodages qui permettent de convertir mon type et en string et vice et versa. Ces fonctions sont dans un module avec la declaration du type et utilise les fonctions Join() et Split().
Du coup j'ai trois PC qui discutent sur un unique serveur avec un temps d'aller retour pour chaque inférieur a 10ms.
Puisque que tu as l'air de masterisé WINSOCK, sait tu si la fonction DATAARRIVAL() s'execute en parallèle si des nouvelles données arrivent avant la fin de traitement de cette fonction , stocke les données dans le tampon de winsock ou perd t'elle les données?
Enfin merci pour tout, c'est tout de meme tres sympa de filer un coup de main aux autres.
A bientot... 8-)
cs_Crazyht
Messages postés1522Date d'inscriptionmardi 18 décembre 2001StatutMembreDernière intervention21 août 20108 5 avril 2002 à 18:54
Pour repondre a ta question, sache que pour qu'un processus execute "en paralelle" deux instructions (ou fonction), il faut avoir plusieurs Thread, donc non, il termine le premier evenement avant de s'attaquer au deuxieme, mais ceci est valable pour tous languages.
Par contre sache que si tu veux vraiement atteindre des performances correctes il te faudra passer par les API de WSock32.dll (Standard Windows).
P.S.: Sortir de l'ecole ne prouve rien bien au contraire le systeme educatif est telle que n'import qui peux avoir un morceau de papier.
Pour toute question supplementaire : irc://chat.viendez.com/#programmation