Socket serveur-client possible d'envoyer et de recevoir avec 2 ports

dingjianboy Messages postés 12 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 30 juin 2007 - 28 juin 2007 à 12:41
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010 - 30 juin 2007 à 18:21
Bonjour,

j'ai déjà effectué serveur et client se connectent avec un seul port, ils s'envoient et se recoivent en meme port, je pense qu'il possible d'envoyer la requete en utilisant un port sort et de recevoi la requete en utilisant un autre port entrée?
j'ai consulté sur internet et j'ai trouvé des exemples tous avec un seul port, je sais pas avec 2 ports ca marche ou pas!

merce de votre reponse!

5 réponses

cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
28 juin 2007 à 15:45
Salut,
en fait quand tu ne spécifie qu'un seul port, deux ports sont quand même utilisés:
le port spécifié est celui du serveur, qui se met en attente sur ce port.
Le client se connecte sur l'ip du serveur en spécifiant le numéro de port du serveur, mais le client à aussi un numéro de port de son coté qui est choisi "~aléatoirement~".
En gros la socket est identifié par les deux IP et les deux numéros de Port
(voir des descriptions du protocole TCP ou UDP).
Le numéro de port du client est géré automatiquement, le dévellopeur n'a pas à s'en occuper, mais il peut quand même le faire si il veut.
Remplacer:
Socket(InetAddress address,
       int port)

par :
Socket(InetAddress address,
       int port,
       InetAddress localAddr,
       int localPort)
0
dingjianboy Messages postés 12 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 30 juin 2007
29 juin 2007 à 14:31
Merci beaucoup,

c'est-à-dire que deux ports doivent utiliser 2 addresses IP, on peut pas effectuer une addresse IP et deux ports different dans socket ?

est ce qu'il y a des exemple sur ca! merci d'avance!
0
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
29 juin 2007 à 14:47
Dans tous les cas la socket est ouverte entre :
  - l'adresse IP serveur associée au numéro de port serveur
  - l'adresse IP cliente associée au numéro de port client.

Il n'y a pas de constructeur socket qui spécifie le port client sans l'adresse ip, mais normalement l'adresse est connue de toute façon (puisque c'est l'adresse IP de la machine).
Il doit certainement il y avoir des exemples quelques part, mais comme cela n'a pas beaucoup d'intéret ils doivent plutôt être dur à trouver.
Que voulez vous faire ? A quoi vous sert de fixer un numéro de port client précis ?
(Rq: vous pouvez récuperer celui choisit automatiquement lors d'une création de socket normal avec
getLocalPort()
)
0
dingjianboy Messages postés 12 Date d'inscription lundi 24 avril 2006 Statut Membre Dernière intervention 30 juin 2007
30 juin 2007 à 18:15
Merci,

C'est le chef de projet qui me propose avec deux port different, au debut, je croix que c'est pas possible, il m'a dit essayer!

ok, merci quand meme.
0

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

Posez votre question
cs_Kysic Messages postés 332 Date d'inscription mardi 12 juillet 2005 Statut Membre Dernière intervention 17 juillet 2010
30 juin 2007 à 18:21
Peut être qu'il voulait que tu ouvre deux sockets différentes entre les deux applis ?
http://kysicurl.free.fr/
0