bon, tout d'abord, je dois te dire que si je connais à peu près les socket TCP, je ne connais pas du tout les socket UDP, donc mes réponses sont à prendre avec précaution (mais le lien que je t'es donné est vraiment une référence en tant que tutorial sur le réseau, si ces questions t'intéresse tu devrais vraiment le lire).
"depuis mon ordi A quand j'ouvre une socket pour écouter sur le port 6666 de l'ordi B, alors il s'ouvre également un port sur l'ordi A,"
Tu ne peux pas faire ça : sur ton ordi A tu peut faire deux chose, soit ouvrir une socket qui écoute sur un port donné sur l'ordi A (et qui va attendre que quelqu'un lui envoie des informations sur ce port), soit (et en UDP la même socket peut faire ça), tu peut envoyer des donner sur un port donné sur l'ordi B. Et oui, dans ce cas là, la socket obtient aussi un numéro de port (que tu peut récupérer avec getsockname). Enfin je crois qu'elle en obtient un, mais peut-être que dans le mode déconnecté, dès que l'envoi est terminé, elle n'a plus de port attribué. C'est à voir avec quelqu'un qui connait les socket UDP.
"- Une socket qui écoute un port peut-elle émettre également
Par exemple, en supposant que j'ai ouvert une socket depuis (A,6666) pour transmettre des infos vers (B,6666), est-ce que je peux être en listen en meme temps sur (A,6666)
"
En TCP, non, pas du tout. Soit tu mets une socket en listen, et alors quand quelqu'un se connecte et que tu accepte la socket obtient un nouveau port et elle peut recevoir et envoyé des donné, soit tu connecte la socket à un client (mais alors tu ne choisis pas son port en local généralement, même si tu pourrais le faire, mais c'est une mauvaise idée) mais alors elle ne peut pas être en mode "listen". En UDP, je ne vois pas ce que ça veut dire d'être "listen", donc je ne peux pas te répondre.