Envoi d'image Client/Serveur

Fermé
Matrix++
Messages postés
49
Date d'inscription
jeudi 11 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007
- 6 déc. 2005 à 12:38
 A propos d'envois d'image Client / Serveur - 8 janv. 2008 à 13:17
Salut à toutes et à tous,
Je suis en train de developper une application Client/serveur sous windows avec du C++(MFC), malheureusement je n'ai pas pu resoudre le problème d'envois d'image .bmp du serveur vers le Client , alors si quelq'un a des informations sur ce sujet qu'il m'aide car j'en ai vraiment besoin !!!
je crois que mon problème réside dans les fonction Receive()&Send() -->je ne sais pas comment les manipuler dans ce cas !!

informations:
Pour implementer mes sockets j'ai utilisé une classe qui derive de le classe CAsynSocket.


Merci d'avance!!!
Cordialement Matrix++
@+

16 réponses

Matrix++
Messages postés
49
Date d'inscription
jeudi 11 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007
9
6 déc. 2005 à 18:20
tjrs pas de réponse !!! vraiment j'ai besoin de votre aide !!!!!
0
Pas de réponse mais une question :) Arrive tu a te connecter par le net a travers un routeur sur ton serveur??? comment fait tu? quels composants utilise tu?? PS je suis sous Delphi...
Désolé de ne pas pouvoir t'aider mais ou stade ou j'en suis de mon appli :)
0
Matrix++
Messages postés
49
Date d'inscription
jeudi 11 août 2005
Statut
Membre
Dernière intervention
1 janvier 2007
9
6 déc. 2005 à 21:43
salut,
c'est vraiment bien de repondre à une question par une autre question qui n'as rien a voir !!!! mais j'ai pas bien compris ta question!!!!
0
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 523
6 déc. 2005 à 21:52
Pour el: pour te connecter à ton serveur en passant par un routeur, c'est la même chose que si tu te connectais directement sur le serveur.
Il faut par contre que tu configures ton routeur pour créer une redirection vers ton serveur en fonction de connexion sur des ports précis.

Désolé Matrix++, je peux pas t'aider...
0
Heu désolé si je t'ai vexé.... moi je pourrais peut etre te rencarder pour envoyer tes bmp mais bon un peu plus d'amabilité seait bienvenue...
En gros, ma question: j'ai sur mon PC mon serveur et sur le pc d'un ami mon client, il se connecte avec un modem normal et moi un modem routeur. Lorsqu'il ésé de communiquer avec son client vers mon serveur: socket asynchrone 10060... a tu surmonté ce probleme? je regarde pour ton probleme et je te poste la réponse
0
Merci kilian, mais mon probleme vient de la portablilité de l'appli: ca ne marchera que chez moi, c'est un peu génant non??? Je cherhce en fait une solution pour outrpasser la configuration du routeur... ou une configuration logicielle si possible???
0
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 523
6 déc. 2005 à 22:06
mais mon probleme vient de la portablilité de l'appli: ca ne marchera que chez moi

Pas du tout.
Que le serveur soit connecté directement à internet avec un ptit modem adsl, ou qu'il soit connecté à Internet derrière un modem routeur... le client ne verra pas la différence (à moins que le routeur soit mal configuré).

Pour tous les serveurs connecté derrière un routeur c'est la même chose: il faut faire une redirection de port depuis le routeur vers le serveur.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Cette configuration peut elle se faire directement dans mon serveur? Ou est ce impossible?
Quand je dis que ce ne sera pas portable, c'est que le Serveur ne marchera pas chez moi, je veut dire que si je met le serveur sur un autre poste, toujours derrier un routeur, et non configuré, cela ne marchera pas... Enfin ce doit etre possible logiciellement non? Quand j'utilise MSN, je n'ai pas besoin de configurer mon routeur.... :S
0
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 523
6 déc. 2005 à 22:57
Cette configuration peut elle se faire directement dans mon serveur? Ou est ce impossible?

Tu veux dire depuis ton application serveur? Ton modem routeur se configure probablement via une interface web. Donc oui, tu peux probablement le regler automatiquement à coup de requêtes http.

Par contre:
_ Ca marchera pour ton routeur, mais que faire avec les autres types de routeur? Il ne se configurent pas de la même façon.
_C'est une faille de sécurité. Tu demandes au routeur de rediriger tel port, et si ton appli merde (mon_appli.exe a généré des erreurs et doit fermer) et qu'elle n'est pas capable de remmtre la config du routeur précédente? Ben le port continuera d'être redirigé.

Quand je dis que ce ne sera pas portable, c'est que le Serveur ne marchera pas chez moi, je veut dire que si je met le serveur sur un autre poste, toujours derrier un routeur, et non configuré, cela ne marchera pas...

C'est un problème de configuration réseau, ce n'est pas le problème de ton application. Apache, Mysql et autres serveurs ne s'emmerdent pas à reconfigurer tous les routeurs qui posent problème, encore heureux :-)

C'est aux utilisateurs de configurer leur réseau comme ils l'entendent.

Quand j'utilise MSN, je n'ai pas besoin de configurer mon routeur.

Moi non plus. Sauf pour le transfert de fichier (là, msn devient serveur lorsque tu proposes un fichier).

En fait je me gourre peut être depuis le début, peut être que ton routeur est déjà configuré pour rediriger tous les ports vers ton serveur. verifie sa configuration.
0
bin non lol sinon il marcherait c p***** de prog :)
tu sais comment ca marche pour Apache et tout ca?? je n'ai pas compris ton explication avec mes pauvres connaissances......
Au final, c'est possible?? oui? non? T_T
0
pitete que les composants Indy gérent le truc???
Merci de ton aide précieuse en tout cas :)
0
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 523
6 déc. 2005 à 23:17
u sais comment ca marche pour Apache et tout ca??

Oui, ce sont les administrateurs qui configurent le réseau et l'adaptent aux applications qui tournent. (Réglage de firewall, redirections de ports etc....)

Imagine toi le schema: Tu as un modem routeur connecté à internet. Celui-ci ne laisse pas rentrer les paquets qui concernent des nouvelles connexions. C'est bien, c'est une protection.

Par contre, imagine, derrière ton routeur tu as un serveur avec apache qui tourne et écoute sur le port tcp 80 (standard pour les serveurs web).
Apache va écouter sur ce port de ton serveur. Oui mais les seules machines qui pourront se connecter ce sont les autres machines de ton réseau local, et ton routeur. Vu qu'il y a un routeur entre toi et internet, si quelqu'un essaie de se connecter chez toi, il va buter sur ton routeur qui va lui refuser cette connexion.

Si tu veux que ça fonctionne avec ton programme, tu dois demander à ton routeur de retransmettre les connexions vers le port 80 (qui arrivent sur le routeur) vers le port 80 de ton serveur.

Pour savoir si ton routeur fait déjà cette redirection, il faut que tu vérifies sa configuration (normalement à travers une interface web, là faut voir avec le manuel de ton modem). car ce n'est peut être pas ça, c'est peut être ton firewall qui pose problème par exemple.

Au fait attention avec la redirection de port, configure bien ton firewall pour rester protégé....

Au final, c'est possible?? oui? non? T_T

Non, il ya trop de type de routeur dans le monde. Mais tu peux configurer le tiens, si c'est ça qui pose problème pour le socket, ça fonctionnera.
Par contre tu peux mettre un petit mode d'emploi dans l'aide du logiciel pour indiquer aux gens comment configurer leur modem si ça ne passe pas...
0
No Firewall :) mais je ferme les ports après m'en etre servi :)
En gros, mon prog marchera chez moi,enfin le server mais pas chez d'autres gens... ou peut etre puis-je choisir de faire paser mes infos par un port habituellement redirigé??? Si oui que sont ces ports, lequels puis-je utiliser sans poser trop de pb?
Désolé si je suis lourd mais j'aimerais bien que mon appli marche meme pour les gens qui tournent avec un routeur et Dieu sais qu'il y en a de plus en plus avec les connexions très haut débit....
0
Et si je passais par une page web?

Je m'explique:
client->envoi du message sur la page web
serveur-> lecture de la page tous les X temps, si message diférent de ancien message, afficher message.
0
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 523
6 déc. 2005 à 23:42
Je te réponds demain.
Faut que je file au lit.

Bonne nuit :-)
0
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 523
7 déc. 2005 à 14:46
No Firewall :) mais je ferme les ports après m'en etre servi :)

De quelle manière? En fait, un port se ferme à partir du moment ou il n'y a plus d'application à l'écoute dessus.

En gros, mon prog marchera chez moi,enfin le server mais pas chez d'autres gens...

Sauf s'ils savent configurer leur modem, ou s'ils prennent le temps de se renseigner un minimum. Il ya plusieurs logiciels couramment utilisés et qui necessitent ce même genre de règlage sur les modems routeur.

ou peut etre puis-je choisir de faire paser mes infos par un port habituellement redirigé??? Si oui que sont ces ports, lequels puis-je utiliser sans poser trop de pb?

Je ne sais pas comment ça se passe à ce niveau. Est ce que certains modem routeurs redirigent par défaut, et si c'est le cas, vers tous les ports ou plusieurs? J'en sais rien.

Et si je passais par une page web?

Ca sera plus lent puisqu'il faudra vérifier régulièrement si une page sur le web à changé....

Moi j'ai du mal à comprendre ce qui te pose problème. Tu n'as qu'à poser un tutoriel dans l'aide de ton application pour configurer correctement un routeur pour utiliser ton logiciel.....
0
c'est vrai, ca risque d'etre long...
En fait, je suis en BTS info-gestion, j'ai dévelloppé un appli de controle a distance (genre VNC) pour administateurs réseaux. Elle marche très bien sur un réseau local, mais j'aimerais l'adapter afin qu'elle puisse servir a dépanner des noobz quant ils le souhaitent ( come le fait VNC)...
Mais étant donné que c'est de noobz dont il s'agit, le fait d'avoir a configurer le routeur peut encore poser un problme de plus pour eux tu vois?
Enfin je pense que meme si c'est long, la solution du passage par FTP est la meilleure, car le routeur laisse obligatoirement passer les infos par le port 21 ainsi que celles entrant par le port 80 (HTTP si je ne me trompe pas...) donc plus de probleme de routeur, meme si ca risque de ralentir l'appli (vraiment peu je pense).

Merci de ton aide encore une fois, El

Ps: sous quoi programme tu?
0
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 523
7 déc. 2005 à 19:10
le routeur laisse obligatoirement passer les infos par le port 21 ainsi que celles entrant par le port 80

Tu es sûr? Ca m'etonne.
Tu sais quoi, vu que tu es en Bts, n'hésites pas à questionner un de tes profs à ce sujet, et leur demander quelle serait la meilleure solution. Ils sont là pour ça :-)

Moi aussi je suis en Bts info-gestion et donc juste etudiant, et donc pas franchement au courant de la configuration qu'ont la plupart des modem routeurs par défaut :-)

la solution du passage par FTP est la meilleure

Celui qui se fait contrôler c'est le serveur j'imagine?
Pour le coup, autant que ton appli écoute sur le port 21, plutôt que de faire installer un serveur ftp à la personne qui besoin d'un coup de pouce.... Mais bon le port 21 est normalement reservé aux serveurs Ftp...

Ps: sous quoi programme tu?

Si tu parles du système, ben Linux ou windows ça dépend (je préfère largement Linux....).
Si c'est du langage, ben là ça dépend des cas. C/C++, Python ou Php généralement...
0
Bon pour mes profs c'est mort, ils sont un peu trop nuls pour ca... j'exagere pas je t'assure, ma prof de prog y connait rien, je lui explique des trucs des fois... Sinon ya l'Admin qui gere bien mais il était pas trop calé sur la question...

Pour le serveur, c'est effectivement le controlé qui qui l'a. Mais j'ai éssayé de passer par le port 21, ca crée des réactions vraiment bizarres... Enfin, je vais tester comme ca, je te tiens au courant, si tu veux meme par MSN, je te file mon adresse si ca te branche...
Comme ca en plus tu me donnera peut etre quelques coups de pouce en C si ca te dérange pas ;)

Pour info je prog sous Windobe exclusivement et en languages: Basic(Darkbasic, mon premier language, je sais c'est tout pourri mais ca t'initie trop bien a la prog), j'apprend le pascal en cours et je sais faire quelques trucs sous Delphi.

A bientot j'espere.

BTS IG POWA
0
A propos d'envois d'image Client / Serveur
8 janv. 2008 à 13:17
Bonjour,

Je me permet de vous envoyer ce message pour vous demander votre aide. Je suis étudiant en informatique de gestion et pour mon cours d'administration réseau, le professeur nous a demandé de réaliser un programme en C client / serveur qui prend une catpure de son écran et l'envois à tous les clients connectés.

Pour le moment la liaison client / serveur fonctionne très bien, le serveur arrive a capturer son écran et à le sauvegarder sous format .BMP !
Le problème est que maintenant, il va falloir envoyer cette image aux clients et je n'arrive pas à trouver comment faire.
Pouvez-vous m'aider s'il vous plait ?

D'avance merci,
Cordialement,
Simon
0