Ports

Résolu
Signaler
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018
-
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
-
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

Messages postés
14008
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
81
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
Messages postés
242
Date d'inscription
lundi 6 mars 2006
Statut
Membre
Dernière intervention
17 janvier 2018

 merci beaucoup :)
Messages postés
14828
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
18 novembre 2021
157
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)