question visual basic

Statut
N'est pas ouverte pour d'autres réponses.

ProfX

Elite
je travaille sur un projet de soft un peu spec
pour ce soft j ai besoin de gerer une relation client serveur
mais voila j y connais que dalle la dedans
je sais meme pas comment ca se fait ce genre de truc

alors si une pointure en vb passe par ici ....... et qu il aime les defi un peu d aide serai super apreciee
 
EUh, tu veux bien attendre la fin du vote pour le forum en question ?


:D



Sinon, ya des fonctions, tout dépend de ce que tu veux faire...
Faut déjà connaître ta propre IP : LocalIP qui renvoie l'adresse sous la forme "xxx.xxx.xxx.xxx"
Puis celle de l'autre : RemoteHostIP


pour ton histoire, en C++, nous on utilisait des sockets => tu utilises un composant équivalent : WinSock



Now ya des fonctions de l'API :
GetIpAddrTable
GetIpNetTable
GetIpStatistics
 

BaKa

Touriste
je ne fais pas de vb mais je crois que tu devrait expliquer un peu + ... on pourrais t'aider nivo théorique ;)
 
Théorie:


Tu as deux machines (c mieux pour tester mais on c faire des tests sur un seul PC aussi)

Tu crées une application SERVEUR
(qui écoute ce qui se passe sur le réseau)

Tu crées une application CLIENT
(qui exécute via une interface ce que le client demande)

Comment ça marche ?

Tu allumes ton serveur...
Tu connectes ton client, le client demande qlq chose, il y a communication avec le serveur, le serveur traite la demande et renvoit une réponse (ok, problème, etc)


Tu dois établir un protocole de communication, c'est à dire par exemple : créer une chaîne de caractères balisée qui contient ta demande, les balises précisant de quoi il s'agit, qui tu es, etc...


exemple :


Ton client envoie ceci : "<1:pfrt:rofx</1><ip>192.168.0.1</ip><2>IE.open</2>"

(une bête chaîne de caractère non codée pour le moment)

ton serveur reçoit, il fait la découpe de la chaîne :
balise1 : identifiant (son nom complet)
baliseip : Ip de l'identifiant
balise2 : demande d'ouvrir Internet Explorer sur le serveur

le serveur traite la demande et renvoit un message

"<ok>" ou "<pasOk>"

le client look le message reçu et continue ou corrige sa demande...

=> tu vas avoir une fonction d'envoi et une fonction de réception de chaque côté des 2 sockets (socket client, socket serveur)
Ces fonctions ne font que faire de la découpe, et en fonction des résultats, ben ya une action adéquate...

pourquoi des balises ? c'est plus facile pour faire de la découpe... avec une méthode qui "substract" de tel endroit à tel endroite ou quand la chaîne à découper est avant une chaîne du type "<...>"



Pour la sécurité : un codage de l'info en envoi, un décode à la réception.

codage simple : tu parcours la chaîne, et tu augmentes chaque caractère de x unité ou un itérateur variable en fonction de l'itérateur de parcours dans la boule...( ++ )

décodage simple : idem dans l'autre sens ( -- )


=> 4 fonctions de chaque côté :
envoi, réception, codage, décodage
 
1er
OP
ProfX

ProfX

Elite
euh ma question va sembler debile au pro ..........
mais si j ai plusieur client comme le serveur sais de qui il recois l info et a qui il l envoit ?
je veut pas que ce soit au client de verifier si l info recue est bien pour lui ou pour un otre client
 
Profx a dit:
euh ma question va sembler debile au pro ..........
mais si j ai plusieur client comme le serveur sais de qui il recois l info et a qui il l envoit ?
je veut pas que ce soit au client de verifier si l info recue est bien pour lui ou pour un otre client

ben justement : (exemple)

le client qui se connecte s'identifie : le serveur ajoute son IP dans vecteur par exemple...

quand un client parle : il redonne son IP,
du côté serveur on compare son IP avec le vecteur => il saura à qui renvoyer l'information
 
1er
OP
ProfX

ProfX

Elite
donc y a une comande genre : send at 192.168.0.2 , reponse a la demande ?
 
Profx a dit:
donc y a une comande genre : send at 192.168.0.2 , reponse a la demande ?

euh, pe mais je dirai que ce serai plutôt send at 3540


3540 étant le numéro du 3540ième client contenu dans le vecteur des clients...


=> send[3540]("<..>......</..>");
 
1er
OP
ProfX

ProfX

Elite
si je pige bien le systeme c est un peu comme des instruction put et get pour un fichier mais a la place du numero de fichier on met l ip de l autre pc ?
 
Adellion a dit:
wai :)

et qu'au lieu de put/get/print c'est senddata et getdata :wink:

pourquoi se faire chier avec du c alors qu'on fait pareil en 5x moins de temps avec vb ^^


Ben ça dépend... Avec les sockets en Borland Builder C++, ya plein de méthodes bien sympa : sendtext, senddata, sendbuffer, etc... Ca va très vite à coder.
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut