Deux pour le prix d'une...

cs_AbriBus Messages postés 492 Date d'inscription jeudi 28 août 2003 Statut Membre Dernière intervention 25 avril 2007 - 27 nov. 2004 à 02:56
cs_Tonus Messages postés 25 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 7 mars 2006 - 27 nov. 2004 à 12:50
Salut a tous...

Vous sauriez pas si je peux recuperer l'adresse IP d'un client qui se connecte a un serveur par une applet... j'ai bien penser le faire coté client pis balancer tout ca au coté serveur mais il y a un vrai hic, le serveur est sur une DMZ, les client qui s'y connectent ont un IP privée (style 192.168.xxx.xxx) fort bien, mais voila, si un client DISTANT se connecte et qu'il se trouve lui meme sur un reseau (distant donc) je vais aussi recuperer son IP PRIVEE (et la c'est pas bon). Si toutefois c'est possible, je suis bien conscient que les adresses privées internes renveront toute la meme adresse internet (celle du routeur en gros) mais ce n'est pas tant ca qui m'interresse que les adresses exterieures (pour identifier le client qui se connecte, meme si je n'ai que l'adresse de son routeur car techniquement ca veux dire que il peut y avoir une infinité de clients different avec la meme IP). Pour resumer... y a t il un moyen COTE SERVEUR de recuperer l'adresse d'un client. (j'ai farfouillé du coté de mon SocketServeur et j'ai rien trouver de tel).

Et comme je vous en ai promis un deuxieme, la voila, j'en profite pour relancer mon topic de Transfert de fichier par un socket (http://www.javafr.com/forum.v2.aspx?ID=335392) et comme il y a eut pas mal de suivi sur ce sujet (15) je voudrais juste transferer un fichier du serveur a mon client avec comme seule contrainte qu'a l'arrivé, il soit parfaitement identique sur le client (copy byte a byte)... ca marche presque mais ca marche pas... si ca se trouve ca a deja été fait quelque part mais j'ai pas trouver... J'avoue que je galere grave avec ca...

Toutes les suggestions sont bonnes a prendre mais avant de les formuler a propos du deuxieme sujet, j'ai mis une grande partie de mon code dans le forum, et j'ai meme posté la source complete et (donc presque) opperationnelle là: http://www.javafr.com/code.aspx?ID=27733
Il y a bien eut quelques tentatives de solution du probleme mais... ca marche toujours pas (ca devrait pas etre si compliqué que ca pourtant...)

Que la reponse soit avec toi...

AbruBis...

2 réponses

cs_Tonus Messages postés 25 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 7 mars 2006
27 nov. 2004 à 12:42
Mici pour les divers renseignements
;)
Tonus
0
cs_Tonus Messages postés 25 Date d'inscription jeudi 28 octobre 2004 Statut Membre Dernière intervention 7 mars 2006
27 nov. 2004 à 12:50
Salut, (Desolé pour le post pourri, souris neuve, j'ai ripé sur le bouton :blush) )

Donc pour ton problème d'adrese ip, moi j'ai touvé cette méthode
SocketAddress getRemoteSocketAddress()

elle s'applique sur une socket une fois que ta ServerSocket a accepté la connection
Donc tu vas récupérer l'adresse ip distante, par contre, il est claire que si un routeur est placé entre ton client et le serveur, lequel faisant du SNAT, tu vas récupérer l'adresse du routeur.

Pour ta seconde question, je comprends pas pourquoi tu transfère byte a byte?? si c juste pour etre sur que le fichier reçu est inaltéré, tu n'aurais qu'à appliquer une méthode hash sur ton objet avant de l'envoyer et à la réception et si les 2 sont égaux, ben c good...

Mici pour les divers renseignements
;)
Tonus
0
Rejoignez-nous