SOL_SOCKET
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.) |