Bonjour.
j'ai fait deux petits programmes, un qui envoie des paquets UDP/IP et un qui en reçoit et les affiches.
tout marche bien. Sauf que...
dans son site, Emmanuel Delahaye précise les opération a faire pour un serveur UDP. entre autres:
Or je n'avais fais ni listen(), ni select(). uniquement un bind() suivi de recvfrom() en boucle. Et ça marchait très bien.-configurer le nombre d'écoutes: listen()
-tester la réception : select()
J'ai voulu mettre un listen() pour suivre les conseils, et le listen me retourne une erreur. ensuite, WSAGetLastError() me précise que c'est l'erreur 10045
1/WSAEOPNOTSUPP
(10045)
Operation not supported.
The attempted operation is not supported for the type of object referenced. Usually this occurs when a socket descriptor to a socket that cannot support this operation, for example, trying to accept a connection on a datagram socket.
Alors, est-ce une erreur d'Emmanuel Delahaye, et le listen ne se fait pas pour une connexion UDP, mais uniquement TCP? Ou est-ce une erreur de ma part, et dans ce cas laquelle?
2/
Quoi qu'il en soit, si j'ai re-tapé dans ce code aujourd'hui, c'est pour ecrire un client-server TCP. Or je ne saisis pas bien le rôle de listen(). le 2eme paramètre indique le nombre maximum de connexion simultanées. Sur quoi s'appuye-t'il pour détecter que deux connexion son différentes? sur l'adresse ip et le port de l'emmeteur du paquet?
Merci
Partager