Comment la classe Serveurs prend-elle en charge plusieurs connexions client sur le même port?
Lors de l'utilisation d'une classe Socket est l'établissement d'une connexion TCP vers un serveur sur un port, mais sur le serveur de la ServerSocket est capable de gérer plusieurs connexions client pour chacun d'accepter la demande et la déléguer à un fil à un serveur de la demande. Mais comment est-il possible pour une classe ServerSocket pour accepter plusieurs connexions tcp sur le port.
Veut-il dire qu'il est jusqu'à l'OS pour décider du nombre de connexions qu'il permet ou quel est le montant de l'arriéré a permis et cela peut-il être contrôlé par des applications sur le dessus de l'OS(je veux dire, c'est java limité par le maximum carnet de commandes prises en charge par l'OS), et est-il privison pour carnet de connexions TCP cahier des charges?
Meilleur reagards,
Keshav
source d'informationauteur keshav84
Vous devez vous connecter pour publier un commentaire.
Une connexion TCP est défini par un ensemble unique de (IP source, port source, dest IP, dest port). Étant donné que le serveur se lie à un port particulier, il définit deux de ces 4 variables. Tant que les clients viennent tous de différents IPs et/ou des ports différents, il ne sera pas un problème.
Et oui, l'OS peut contrôler le nombre total de connexions sont autorisées, et votre programme peut restreindre encore.
Il sert plusieurs clients et vous pouvez choisir combien de clients vous permettra de gérer en même temps.
Une connexion (aka un
Socket
entre un client et un serveur n'est pas seulement défini par la ServerIP/ServerPort, il est identifié avec ClientIP/ClientPort/ServerIP/ServerPort.Vous n'avez qu'à accepter les connexions (et généralement de les traiter dans différents threads).
Par défaut, le carnet de commandes de la taille est de 50, mais vous pouvez le régler lorsque vous créez votre
ServerSocket
.Ressources :
Le système d'exploitation sur lequel est exécuté le serveur utilise le numéro de port distant de distinguer entre les différentes connexions au serveur.