Share via


SOL_SOCKET

Windows Mobile SupportedWindows Embedded CE Supported

9/8/2008

A seguinte tabela descreve as opções Soquete SOL_SOCKET. Consulte getsockopt e setsockopt Para obter mais informações sobre obtenção e configuração Soquete opções. Para enumerar os protocolos e descobrir com suporte propriedades para cada instalado protocolo, use o WSAEnumProtocols função.

Algumas opções Soquete exigem que mais explicação que essas tabelas pode transmitir; Tais opções contêm links para páginas adicionais.

Observação

Todos os SO_* Soquete opções aplicar igualmente para IPv4 e IPv6 (exceto SO_BROADCAST, desde que transmitir não é implementada no IPv6).

SOL_SOCKET

Opção    Obter/definir Tipo Optval Descrição

PVD_CONFIG

Ambos

[] char

O usar como padrão é implementação dependente. Esta opção recupera uma opacidade objeto estrutura de dados do provedor de serviço associado com Soquete s. Esse objeto armazena as configurações definidas do provedor de serviço. O formato exato deste estrutura de dados é provedor de serviços específico.

SO_ACCEPTCONN

get

BOOL

O usar como padrão é FALSE, a menos que um WSPListen foi executada. Esta opção indica se um Soquete está no modo de escuta. O Soquete escuta pelo através WSPListen. Válido para somente protocolos orientado a conexão.

SO_BROADCAST

Ambos

BOOL

O usar como padrão é FALSE. Esta opção permite a transmissão de transmitir mensagens a Soquete. Válido somente para protocolos que difusão suporte (IPX, UDP/IPv4 e outros).

SO_CONDITIONAL_ACCEPT

Ambos

BOOL

Por padrão, ATM define esta opção para TRUE. Esta opção indica de entrada conexões serão aceitas ou rejeitadas pelo aplicativo e não a pilha

Definindo a opção Soquete SO_CONDITIONAL_ACCEPT como TRUE Atrasa a confirmação de uma conexão até após o WSAAccept função condição é chamado. Se FALSE, a conexão pode ser aceito para a função condição é chamado, mas a conexão será desconectada se a função condição rejeita a chamar. Esta opção deve ser definida antes chamado de escutar função, caso contrário WSAEINVAL é retornado. Só é SO_CONDITIONAL_ACCEPT com suporte para TCP e ATM.

TCP define SO_CONDITIONAL_ACCEPT para FALSE Por padrão e, portanto, Por padrão a conexão será aceita antes WSAAccept é chamado. Quando definida como TRUE, a decisão condicional deve ser feita dentro de tempo limite conexão TCP. CF_DEFER conexões ainda são assunto para o tempo limite.

SO_DEBUG

Ambos

BOOL

O usar como padrão é FALSE. Soquetes do Windows serviço provedores são incentivados, mas não exigido, para fornecer saída informações da depuração se a opção SO_DEBUG for definida por um aplicativo ou um cliente Windows Sockets SPI. O mecanismo para gerar a informações da depuração e a forma leva estão fora de escopo neste documento.

SO_DONTLINGER

Ambos

BOOL

O usar como padrão é TRUE. Esta opção indica se um valor Linger foi definido em um Soquete. Se TRUE, a opção SO_LINGER está desativada. Válido para seguro, apenas protocolos orientado a conexão.

SO_DONTROUTE

Ambos

BOOL

O usar como padrão é FALSE. Esta opção indica que o roteamento está desativado e de saída dados devem ser enviados em qualquer interface de Soquete e ligado para. Válido para protocolos orientado a mensagem somente. Provedores Microsoft silenciosamente ignorar essa opção e sempre consultar a tabela roteamento para localizar apropriado de saída interface.

SO_ERROR

get

Int

O usar como padrão é zero (0). Essa opção retorna e redefine o por código de erro Socket–Based. Isso é diferente de por codificar Based–Error segmento que é manipulada pelo usando o WSAGetLastError e WSASetLastError função chamadas. Um bem-sucedido chamar que usa o Soquete não redefinir o código de erro Socket-Based retornado pela opção SO_ERROR.

SO_GROUP_ID

get

NULL

Reservado. Não uso. Essa opção é exclusiva para getsockopt e o valor deve ser NULL.

SO_GROUP_PRIORITY

get

Int

Reservado. Não uso. O usar como padrão é zero (0)

SO_KEEPALIVE

Ambos

BOOL

O usar como padrão é FALSE. Um aplicativo ou o cliente Windows Sockets SPI pode solicitação que um TCP/IP serviço provedor habilitar o uso de pacotes em conexões por ativando sobre a opção Soquete SO_KEEPALIVE TCP keep-alive. Um provedor Soquetes do Windows necessário não suporte o uso de pacotes keep-alive. Em caso afirmativo, a semântica precisa é implementação-específico mas deve estar de acordo com seção 4.2.3.6 de RFC 1122: Requisitos para hosts Internet — camadas de comunicação. Se uma conexão for interrompida como resultado de keep-alive pacotes, o código de erro WSAENETRESET será retornada para quaisquer chamadas em andamento o Soquete e todas as chamadas subseqüentes falhará com WSAENOTCONN. Não é SO_KEEPALIVE com suporte em soquetes ATM e solicitações para habilitar o uso de pacotes em um Soquete ATM keep-alive resulta em um erro que está sendo retornado pela Soquete.

SO_LINGER

Ambos

Linger estrutura

O usar como padrão é 1 (ativado). Essa opção controla a ação tomada quando dados não enviados é enfileirado em um Soquete e um closesocket Ou WSPCloseSocket é executada. Consulte closesocket Ou WSPCloseSocketPara uma descrição da maneira na qual as configurações SO_LINGER afetam a semântica de closesocket.

O aplicativo ou Windows Sockets SPI cliente obtém o atual problema recuperando um Linger estrutura (apontado pelo optval parâmetro) com o l_onoff e l_linger Membros definido apropriadamente.

SO_MAX_MSG_SIZE

get

DWORD

O usar como padrão é implementação dependente. Essa é uma opção Soquete Get-only que indica o tamanho máximo de saída (Enviar) de uma mensagem para tipos Soquete message-oriented (por exemplo, SOCK_DGRAM) como implementada por um provedor determinado serviço. Ele não possui nenhuma descrição para fluxo de bytes orientados soquetes. Não há nenhum configurar para localizar sem o tamanho máximo de Inbound–Message.

SO_OOBINLINE

Ambos

BOOL

O usar como padrão é FALSE. Esta opção indica dados OOB devem ser retornados in-line com regular dados. Válido para conexão orientado a protocolos que suporte out - de - dados banda.

SO_PROTOCOL_INFO

get

WSAPROTOCOL_INFO estrutura

O usar como padrão é dependente do protocolo. Esta opção fornece informações protocolo para o protocolo que está ligado a este Soquete. Proprietários Soquete podem usar esta opção para determinar o provedor que criou a Soquete. Esta opção fornece a WSAPROTOCOL_INFO estrutura associado com este Soquete. Consulte WSAEnumProtocols Para obter mais informações sobre essa estrutura.

SO_PROTOCOL_INFOW

get

WSAPROTOCOL_INFOW

Fornece o WSAPROTOCOL_INFO estrutura associado com este Soquete. Consulte WSCEnumProtocols Para obter mais informações sobre essa estrutura.

SO_RCVBUF

Ambos

Int

O usar como padrão é implementação dependente. O Windows Embedded CE TCP/UDP provedor usa bytes 32768 como usar como padrão. O buffer de recepção pode ser definida para um máximo de 1 MB.

Esta opção especifica o total por - espaço do buffer Soquete reservado para receber.

Quando uma implementação Soquetes do Windows oferecer suporte as opções SO_RCVBUF e SO_SNDBUF, um aplicativo pode solicitação reserva diferentes tamanhos (maior ou menor) por chamado setsockopt. A chamar para setsockopt Pode ter êxito, mesmo quando a implementação não forneceu a inteira quantidade solicitada. Um aplicativo deve chamar getsockopt (Soquetes do Windows) com a mesma opção para verificar a tamanho do buffer, na verdade, fornecido.

SO_REUSEADDR

Ambos

BOOL

O usar como padrão é FALSE. Permite que o Soquete ser ligado a um endereço que já está em uso. (Consulte a BIND Ou WSPBind funções.)

Por padrão, um Soquete não pode ser ligado a um local endereço que já está em uso. Ocasionalmente, no entanto, ele pode ser necessário reutilizar um endereço. Porque cada conexão é identificado exclusivamente pela combinação de local e remoto endereços, dois soquetes podem estar ligado para o mesmo local tanto quanto o remoto endereço endereços são diferentes.

SO_REUSEADDR é interpretado somente no tempo da BIND Ou WSPBind. Para informar o provedor Soquetes do Windows que um BIND Ou WSPBind Em um Soquete deve não ser desativado porque um endereço já está em uso, o aplicativo ou cliente Windows Sockets SPI deve definir SO_REUSEADDR antes de emitir a BIND Ou WSPBind.

Não é aplicável para Soquetes ATM, REUSEADDR e embora solicitações para reutilização e endereço não resultar em erro, eles não têm nenhum efeito quando um Soquete ATM está em uso.

SO_SNDBUF

Ambos

Int

O usar como padrão é implementação dependente. Esta opção define o por-tamanho do buffer Soquete para enviar dados. Quando uma implementação Soquetes do Windows oferece suporte as opções, um aplicativo SO_RCVBUF e SO_SNDBUF ou Windows Sockets SPI cliente pode solicitação reserva diferentes tamanhos (maior ou menor). A chamar para setsockopt Ou WSPSetSockOpt Pode êxito mesmo se a implementação não forneceu a inteira quantidade solicitada.

Este é o tamanho de uma janela TCP ou não relacionado para SO_MAX_MSG_SIZE. Tome cuidado quando configuração o valor SO_SNDBUF como configuração este valor seja muito alto ou muito baixo pode ter um efeito negativo no desempenho. Um aplicativo deve chamar essa função com a mesma opção para verificar a tamanho do buffer, na verdade, fornecido. Um valor de 0 não é com suporte.

SO_TYPE

get

Int

O usar como padrão é o tipo Soquete que foi criado com Soquete. Essa opção retorna o tipo Soquete para o Soquete determinado (ex.: SOCK_STREAM, SOCK_DGRAM, etc.)

See Also

Concepts

Socket Options