Partager via


Fonctionnalités améliorées au moment de la connexion

Windows Sockets 2 offre un ensemble étendu d’opérations qui peuvent se produire coïncident avec l’établissement d’une connexion de socket. Les exigences du fournisseur de services pour l’implémentation de ces fonctionnalités sont décrites ci-dessous.

Acceptation conditionnelle

Comme décrit précédemment, WSPAccept appelle une fonction de condition fournie par le client qui utilise des paramètres d’entrée pour fournir des informations sur la demande de connexion en attente. Ces informations peuvent être utilisées par le client pour accepter ou rejeter une demande de connexion en fonction des informations de l’appelant, telles que l’identificateur de l’appelant, qoS, etc. Si la fonction de condition retourne CF_ACCEPT, un nouveau socket est créé avec les mêmes propriétés que le socket d’écoute, et un handle vers le nouveau socket est retourné. Si la fonction de condition retourne CF_REJECT, la demande de connexion doit être rejetée. Si la fonction condition retourne CF_DEFER, la décision d’acceptation/rejet ne peut pas être prise immédiatement et le fournisseur de services doit laisser la demande de connexion dans la file d’attente du backlog. Le client doit appeler WSPAccept à nouveau, lorsqu’il est prêt à prendre une décision et à organiser la fonction de condition pour retourner CF_ACCEPT ou CF_REJECT. Bien qu’une demande de connexion différée se trouve en haut de la file d’attente du backlog, le fournisseur de services n’émet aucune indication supplémentaire pour les demandes de connexion en attente.

Échange de données utilisateur au moment de la connexion

Certains protocoles permettent d’échanger une petite quantité de données utilisateur au moment de la connexion. Si de telles données ont été reçues de l’hôte de connexion, elles sont placées dans une mémoire tampon du fournisseur de services et un pointeur vers cette mémoire tampon, ainsi qu’une valeur de longueur sont fournies au client SPI Winsock via des paramètres d’entrée à la fonction de condition WSPAcceptWSPAccept. Si le client Winsock SPI a des données de réponse pour revenir à l’hôte de connexion, il peut le copier dans une mémoire tampon fournie par le fournisseur de services. Un pointeur vers cette mémoire tampon et un entier indiquant la taille de la mémoire tampon sont également fournis en tant que paramètres d’entrée de fonction condition (si pris en charge par le protocole).

Établissement de groupes de sockets

Toutes les utilisations de groupes de sockets sont réservées.