Zootella
Messages postés252Date d'inscriptionvendredi 10 juin 2005StatutMembreDernière intervention 5 septembre 2006
-
2 oct. 2005 à 19:14
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDerniè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.
ebooserge
Messages postés137Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention16 juillet 20071 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.
Zootella
Messages postés252Date d'inscriptionvendredi 10 juin 2005StatutMembreDerniè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 ?
ebooserge
Messages postés137Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention16 juillet 20071 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();
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDerniè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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Zootella
Messages postés252Date d'inscriptionvendredi 10 juin 2005StatutMembreDerniè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.
DeAtHCrAsH
Messages postés2670Date d'inscriptionvendredi 25 janvier 2002StatutMembreDerniè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.