Ports

Résolu
cs_Kite37 Messages postés 242 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 17 janvier 2018 - 30 mai 2006 à 18:07
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 31 mai 2006 à 08:38
Hellow !
Je tente de créer un logiciel de chat (original n'est-ce pas :p) afin de mettre en pratique mes connaissances en sockets et autres liaison internet.
Cependant, je me posais une question toute simple : si je veux connecter plusieurs client a mon serveur, dois-je le faire sur des ports différents? et si oui, comment faire pour savoir quel port peut etre utilisé?

3 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
30 mai 2006 à 18:28
Salut
(c'est du Net alors je ne pourrais te donner d'exemple précis, désolé)

Non.
Quand ton serveur est en écoute (.Listen) sur un port, il reçoit les demandes de connexion.
Si tu veux gérer plusieurs clients, il ne faut pas accepter la requète tout de suite :
Il faut créer une nouvelle instance de ton Winsock, puis de faire le "Accept" sur cette nouvelle instance.
Le "Accept" fera que le nouveau Winsock choisira lui même un port libre pour la connexion avec le client, port différent de celui d'écoute, bien sûr.
Le Winsock en écoute restera donc en écoute, prêt à recevoir d'autres demandes.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
3
cs_Kite37 Messages postés 242 Date d'inscription lundi 6 mars 2006 Statut Membre Dernière intervention 17 janvier 2018
30 mai 2006 à 19:22
 merci beaucoup :)
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
31 mai 2006 à 08:38
Bonjour

En .NET, tu as 2 objets : TcpListener(ou server) et TCPClient.

Pour écouter tu dois utiliser TcpListener, tu lui donne un port d'écoute, tu fais un Start (méthode), puis tu utilise l'aide pour plus de renseignement (j'ai pas la doc ici).
Ensuite tu récupère un TcpClient (ou un socket, c'est au choix), et tu l'utilise.
Je te conseille d'utiliser des thread pour ton serveur et tes clients (TcpClient), pour éviter de "geler" ton application maitre.

Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
0
Rejoignez-nous