De ce que j'ai compris, j'initialisais mon "endpoint" avec le socket
udp::socket s(io_context, udp::endpoint(udp::v4(), 0));
seulement pour le serveur, je change ces valeurs, et donc naturellement, j'avais utiliser la même méthode avec le client, à savoir:
udp::socket s(io_context, udp::endpoint("127.0.0.1, 3333));
ou
udp::socket s(io_context, udp::endpoint(ip_address, port_num));
C'est à dire que l'initialisation de mon socket comme je le fais pour le serveur ne compilait plus le code après avoir modifié de la même façon, en plus, l'initialisation du "resolver" et donc non, je n'ai pas compris pourquoi car maintenant, le code compile avec mon resolver mais les argument du socket son ceux "par defaut".
En gros ce que j'comprends là, c'est que ce code initialise le socket avec des valeurs par defaut sans se connecter et donc le resolver défini le type de resultat que le socket doit attendre avec en bonus les infos de connection.
j'imagine que la méthode peut donc être utilisé pour "listen" d'autre type de "result" sur un autre port par exemple mais le fait que le socket soit initialisé avec le port 0 m'a troublé.
Partager