shutdown
9/8/2008
Essa função desativa envia ou recebe em um Soquete.
Syntax
int shutdown(
SOCKET s,
int how
);
Parameters
- s
[no] Descritor identificando um Soquete.
- Como
[no] Sinalizador que descreve quais tipos de operação não será permitido.
Return Value
Se não houver erro, essa função retornará zero. Se um erro ocorrer, será retornado um valor de SOCKET_ERROR, e um código de erro específicos podem ser recuperadas por chamado WSAGetLastError. A seguinte tabela mostra uma lista dos códigos de erro possível.
Código de erro | Descrição |
---|---|
WSANOTINITIALISED |
Um bem-sucedido WSAStartup chamar deve ocorrer antes de usar essa função. |
WSAENETDOWN |
Falha no subsistema da rede. |
WSAEINVAL |
O Como parâmetro não é válido ou está não consistente com o tipo Soquete. De exemplo, SD_SEND é usado com um UNI_RECV tipo Soquete. |
WSAEINPROGRESS |
Um bloqueio é chamar sockets do Windows (Winsock) em andamento, ou o serviço provedor ainda é processamento um função callback. |
WSAENOTCONN |
O Soquete não está conectados (orientado à conexão soquetes somente). |
WSAENOTSOCK |
O descritor não é um Soquete. |
Remarks
Essa função é usada em todos os tipos de soquetes para desativar recepção, transmissão ou ambos.
Se a pasta Como parâmetro é SD_RECEIVE, chamadas subseqüentes para o Recv função sobre o Soquete será ser desativada. Isso não tem nenhum efeito em camadas de protocolo inferiores. Para Soquetes TCP, se ainda houver dados enfileirado sobre o Soquete que estão aguardando para ser recebido, ou dados chegarem posteriormente, a conexão é redefinir porque os dados não podem ser entregue para o usuário. Para soquetes UDP, de entrada datagramas são aceitas e enfileirado. Em nenhuma maiúsculas e minúsculas será um pacote de erro protocolo ICMP (ICMP) gerado.
Se a pasta Como parâmetro é SD_SEND, chamadas subseqüentes para o Enviar função são permitidas. Para Soquetes TCP, um FIN será enviada depois que todos os dados é enviada e reconhecida pelo destinatário.
Configuração Como Para SD_BOTH desativa ambos envia e recebe conforme descrito acima.
O desligamento função não fechar o Soquete. Quaisquer recursos anexado para o Soquete não sejam liberados até closesocket é invocado.
Para garantir que todos os dados são enviados e recebidos em um Soquete conectado antes que ele seja fechado, um aplicativo deve usar desligamento Para fechar a conexão antes chamado closesocket.
Observação
O desligamento função não bloco regardless of a configuração SO_LINGER na Soquete.
Um aplicativo não deve depender poder reutilizar um Soquete após ele foi desligado. Em particular, um provedor Soquetes do Windows não é exigido para suporte o uso das conectar (Soquetes do Windows) função em um Soquete que foi desligado.
Observação
Modo assíncrono transferir (ATM) não é com suporte em Windows Embedded CE.
Requirements
Header | winsock2.h |
Library | Ws2.lib |
Windows Embedded CE | Windows CE 1.0 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
See Also
Reference
closesocket
connect (Windows Sockets)
recv
send
socket (Windows Sockets)
WSAGetLastError
WSAStartup