[Reseau] Passerelle

Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006 - 2 oct. 2005 à 19:14
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013 - 3 oct. 2005 à 13:56
Salut,



Je voudrais savoir comment creer une passerelle, c'est à dire que j'ai
mon serveur winsock et que quand kelk1 se connecte dessus, le serveur
le connecte à une autre adresse sans couper la connection avec mon
serveur.



merci.

6 réponses

ebooserge Messages postés 137 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 16 juillet 2007 1
2 oct. 2005 à 21:50
en creant deux secondes.
la 1er qui va accepter les cnx entrants venant de ton client.
la seconde qui va se charger de transferer tout ce que t'envoie le client vers le ton adresse distante et vice versa.
ca c'est une phrase francaise mais maintenant en C++.

donc ta passerelle doit etre a la fois a l'ecoute du client et prete a envoyer au serveur.
0
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
2 oct. 2005 à 22:45
Ok merci je pense avoir compris le concept de passerelle, mais disons
qu'il y'a 2 clients ou plus connectés dessus, comment la passerelle
sera a qui envoyer les bonnes données ?
0
ebooserge Messages postés 137 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 16 juillet 2007 1
3 oct. 2005 à 09:50
c'est vrai que ca complexifie un peu.
attends ... je pense que tu pourra pour chaque ordinateur de ton LAN une socket sur la passerelle qui sera chargé de n'ecouter que les requetes venant de tel ou tel ordi.
en gros tu aura plusieurs fonction recvfrom() et sendto();

heuu... je crois ... enfin

essaie

@+
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
3 oct. 2005 à 10:12
Le plus simple a faire c'est d'établir un ptit protocol de connexion, genre :

Le client se connecte au serveur.
Le serveur lui renvoie une trame indiquant le nouvelle IP et le port de connexion.
Ton client recoit cette trame, extrait l'IP et le port, puis ouvre un deuxieme socket pour s'y connecter.

Shell
0

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

Posez votre question
Zootella Messages postés 252 Date d'inscription vendredi 10 juin 2005 Statut Membre Dernière intervention 5 septembre 2006
3 oct. 2005 à 13:00
je me renseigne sur ces fonctions [auteurdetail.aspx?ID=402218 ebooserge], merci.



Sinon ton idée est bonne [auteurdetail.aspx?ID=3585 DeAtHCrAsH],
mais ce n'est plus une passerelle, puisqu'il faut impérativement que se
soit la passerelle de connecté au serveur et non le client.
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
3 oct. 2005 à 13:56
Dans ce cas la, ou est le probleme ?
Dans le serveur, tu te crées un tableau de socket (ex: socket tSock[200];)
A chaque fois que tu recois une demande de connexion de la part d'un client, tu lui affecte un position dans le tableau.
Tu peux ainsi savoir qui t'a envoyer des paquets, et ou tu dois les rediriger.

Shell
0
Rejoignez-nous