je suis en train d'ecrire une application distribuee client/serveur
je voudrais que le serveur envoie des infos du genre un vecteur en 3D au client
comment m'y prendre?
Version imprimable
je suis en train d'ecrire une application distribuee client/serveur
je voudrais que le serveur envoie des infos du genre un vecteur en 3D au client
comment m'y prendre?
Salut,
ta question est beaucou trop vaste et je ne pense pas que t'y trouveras une réponse comme ça. Tout dépendra de ce que tu vas utiliser comme socket(TCP? UDP?), si tu vas définir ton propre protocole d'échange de données ou pas, etc.
Il faudrait plus d'informations sur le problème ...
Trivialement, un vecteur 3D de type T, c'est 3 séries de taille sizeof(T). Il te suffit donc d'envoyer directement le contenu du vector, si le récepteur connait la taille de T, il pourra alors le reconstituer.
Si en revanche tu ne connais pas à l'avance la taille de T, ou que le récepteur ne sais pas quel type de données il va recevoir, il va te falloir créer un petit protocole ( typiquement, à base de chaine d'identificateurs précis ) qui renseigneront le récepteur sur le contenu de la réception.
Techniquement en C (en encore plus en C++), il est assez facile de s'en sortir en passant par une simple génération et analyse (lecture et écriture) dans un fichier sur un disque partagé.
C'est la solution la plus basique (et la plus bas niveau) dans un premier temps. Pour la notification entre le client et le serveur sur le moment ou les données sont disponibles plusieurs solutions possibles (scrutation du répertoire avec un timer, signaux, sockets, ..., tout dépend alors du type de machines clientes et serveurs).
Maintenant si ton programme devra évoluer plus tard vers du temps réel, du multi-client, une interaction forte (et pas seulement un flux descendant du serveur vers le client), ... tu devra reprendre ton programme depuis le début.
Je ne trouve (personnellement) pas très propre le fait d'inscrire dans un fichier depuis le serveur et d'autoriser les clients a ouvrir ce fichier.Citation:
Envoyé par mchk0123
pour un vecteur 1D, je n'ai jamais essayer mais tu peux boucler jusqu'a ce la fin de ton vecteur et envoyer le contenu de vect[i]...
et du coté client tu recois reconstruit avec un nouveau vecteur.
un peu long certes, mais sûr. tout dépend la taille du vecteur!
C'est pour ça que j'ai dit que s'était une solution "basique".
Vu le manque de détails sur le besoin de franc82, j'ai répondu en conséquence.
Ce sur que c'est un peu cradouille ...
Mais bon on va mettre en oeuvre un ORB transactionnel pour ça ? En plus je suis pas sur qu'il comprennes.
ORB transactionnel ... C'est bien une architecture trois niveau?
Ca ne suffira pas pour faire passer un simple vecteur!! :mouarf:
(j'déconne)
Toute facon il ne répond pas donc ca ne sert a rien!