Problèmes de compatibilité des sockets Windows
Windows Sockets 2 continue de prendre en charge l’ensemble de la sémantique et des appels de fonction Windows Sockets 1.1, à l’exception de ceux qui traitent du pseudo-blocage. Étant donné que Windows Sockets 2 s’exécute uniquement dans des environnements 32 bits et planifiés de manière préventive, il n’est pas nécessaire d’implémenter le pseudo-blocage trouvé dans Les sockets Windows 1.1. Cela signifie que le code d’erreur WSAEINPROGRESS ne sera jamais indiqué et que les fonctions Windows Sockets 1.1 suivantes ne sont pas disponibles pour les applications Windows Sockets 2 :
- WSACancelBlockingCall
- WSAIsBlocking
- WSASetBlockingHook
- WSAUnhookBlockingHook
Les programmes Windows Sockets 1.1 qui sont écrits pour utiliser le pseudo-blocage continueront de fonctionner correctement, car ils sont liés à Winsock.dll ou Wsock32.dll. Les deux continuent de prendre en charge l’ensemble complet des fonctions Windows Sockets 1.1. Pour que les programmes deviennent des applications Windows Sockets 2, une modification du code doit se produire. Dans la plupart des cas, l’utilisation judicieuse des threads peut être remplacée pour prendre en charge le traitement effectué avec une fonction de crochet bloquante.