Bonsoir,
J'utilise Qt pour coder mon appli, mais ems questions sont d'ordre generales.
je suis en train de faire une application réseaux. J'ai un TcpServer qui ecoute sur le port 6666 les nouvelle connexions et crée un socket. Il donne ensuite ce socket a un nouveau thread "serveur" pour communiqer avec le client.
J'ai donc 1 client = 1 thread "serveur".
Or je m'en viens a me poser la question suivant.
Mes sockets sont connecté sur qu'elles port ? Est-ce le 6666 pour tous (coté serveur) ? Est-ce possible, car j'ai cru comprendre que 1 port = socket maxi...
Et pour mon serveur, il communique sur le port fournit par le client je suppose ?
en faisant Tcpdump, je crois voir que le client communique depuis un port X et le serveur lui répond depuis le 6666 meme depuis mon thread...Donc soit c'est le Tcpserveur qui dispatch en interne les donnée (??) sois je sais pas trop en faite.
Je me pose c'est question car maintenant je veux faire mon application en UDP, or il n'y a pas UdpServer pour "listen" les nouvelles connexions. Puisque l'on travail en mode non connecté.
Est-ce que je peux alors faire comme pour mon TCP, 1thread par client, juste en lui donnant le socket nouvellement crée? Je suppose que non. Y a t'il des mécanisme intégré a Qt ? sinon, pensez vous que le mieux serait de mettre un "serveur" sur un port (6006 par exemple) qui crée juste les thread serveur. Ensuite chaque thread serveur est sur un port différent, et communique au client sur qu'elle port communiquer ?
Comment faire une application serveur UDP (TCP aussi par exemple mais je veux UDP) qui accepte plusieur client a la fois, sur le meme port? Et-ce que c'est possible, ou le port identique c'ets juste pour se signaliser et recevoir le nouveau port propre a chaque client?
Est-ce que l'on peut avoir 2 socket sur le meme port ?(comment fait par exemples SSH/FTP/TELNET etc?)
Merci d'avance au âme charitable pouvant m'éclairer sur tout ca.