Partilhar via


Usando vários protocolos

Um aplicativo usa a funçãoWSAEnumProtocolspara determinar quais protocolos de transporte e cadeias de protocolo estão presentes e para obter informações sobre cada um conforme contido na estrutura de WSAPROTOCOL_INFO associada.

Na maioria dos casos, há uma única estrutura WSAPROTOCOL_INFO para cada protocolo ou cadeia de protocolo. No entanto, alguns protocolos apresentam múltiplos comportamentos. Por exemplo, o protocolo SPX é orientado a mensagens (ou seja, os limites de mensagem do remetente são preservados pela rede), mas o soquete de recebimento pode ignorar esses limites de mensagem e tratá-los como um fluxo de bytes. Assim, duas entradas de estrutura de WSAPROTOCOL_INFO diferentes poderiam existir para SPX — uma para cada comportamento.

No Windows Sockets 2, vários novos valores de família de endereços, tipo de soquete e protocolo aparecem. O Windows Sockets 1.1 suportava uma família de endereços únicos (AF_INET) para IPv4 que consistia em um pequeno número de tipos de soquete e identificadores de protocolo bem conhecidos. O Windows Sockets 2 mantém a família de endereços, o tipo de soquete e os identificadores de protocolo existentes por motivos de compatibilidade, mas também oferece suporte a novos valores de família de endereços para novos protocolos de transporte com novos tipos de mídia.

Os identificadores novos e únicos não são necessariamente bem conhecidos, mas tal não deverá constituir um problema. As aplicações que precisam ser independentes do protocolo são incentivadas a selecionar um protocolo com base na sua adequação, em vez dos valores atribuídos aos parâmetros socket_type ou protocolo. A adequação do protocolo é indicada pelos atributos de comunicação, como mensagem vs fluxo de bytes e confiável vs não confiável, que estão contidos na estrutura de WSAPROTOCOL_INFO do protocolo. A seleção de protocolos com base na adequação, em oposição a nomes de protocolo e tipos de soquete bem conhecidos, permite que aplicativos independentes de protocolo aproveitem os novos protocolos de transporte e seus tipos de mídia associados, à medida que se tornam disponíveis.

A parte do servidor de uma aplicação cliente-servidor beneficia-se ao estabelecer sockets de escuta em todos os protocolos de transporte adequados. Em seguida, o cliente pode estabelecer sua conexão usando qualquer protocolo adequado. Por exemplo, isso permitiria que um aplicativo cliente não fosse modificado se estivesse sendo executado em um sistema de desktop conectado através de LAN ou em um laptop usando uma rede sem fio.