plusieurs connections TCP clientes => autant de ports différents ?

plusieurs connections TCP clientes => autant de ports différents ? - C - Programmation

Marsh Posté le 09-12-2005 à 13:17:31    

Bonjour, supposons que je souhaite faire un programme qui se connecte en TCP à 10 serveurs différents. Y'a t'il un moyen d'éviter d'utiliser 10 ports différents ? Le problème étant que lors du bind, il faut spécifier un numéro de port encore inutilisé en TCP...
 
Comment font les clients P2P qui permettent d'ouvrir plusieurs dizaines de connections clientes en n'utilisant que quelques voir un seul port ??
 
Merci pour votre aide ;)

Reply

Marsh Posté le 09-12-2005 à 13:17:31   

Reply

Marsh Posté le 10-12-2005 à 20:35:14    

Personne ne sait ou ma question n'est pas claire :??:

Reply

Marsh Posté le 11-12-2005 à 22:34:26    

Si tu es client tu fais connect(), pas bind(). Et oui, ça crée à chaque fois un connexion avec un port source différent.

Reply

Marsh Posté le 11-12-2005 à 23:04:33    

Ouaip, en fait je voulais absolument faire aussi le bind, pour pouvoir spécifier le port et pouvoir ainsi permettre à l'utilisateur de l'ouvrir/forwarder s'il est derrière un firewall/routeur.
 
Mais on m'a expliqué que ça ne servait à rien, c'est seulement du côté du serveur qu'il faut faire ça.
 
:)

Reply

Marsh Posté le 12-12-2005 à 03:10:45    

Tu peux faire un bind côté client avant le connect si c'est vraiment nécessaire, mais en général on laisse le système choisir un port aléatoirement.

Reply

Marsh Posté le 12-12-2005 à 03:14:56    

(je ne sais pas comment ca se passe ne C)
 
Pour moi, tu te connectes au serveur toujours par le même port. c'est juste le client qui va/peut "changer son port". Il faudra donc que le serveur sache sur quel port répondre au client (mais ca se fait peut-etre  automatiquement).

Reply

Marsh Posté le 12-12-2005 à 05:00:21    

Il répond sur le port source indiqué dans le packet TCP envoyé par le client, je ne vois pas le problème.

Reply

Marsh Posté le 12-12-2005 à 09:22:22    

il n'y en a pas. je prends juste des précautions parce que je ne sais pas ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed