Abaixo está uma lista de códigos de retorno FTP com uma explicação do que cada um significa. Esses códigos vêm de um servidor FTP para informá-lo sobre o status da sua solicitação.
Winsock significa o Windows Socket 2. Ele fornece uma interface de programação de aplicativos de rede (API) de propósito geral com base no soquete. O Winsock fornece acesso a vários protocolos de transporte, permitindo que você crie aplicativos que suportam vários tipos de soquete.
Abaixo está uma lista abrangente de todos os códigos de erro pertencentes a esta série, juntamente com uma breve descrição de cada um deles.
-
WSAEACCES (10013)
Permissão negada.
Foi feita uma tentativa de acessar um soquete de uma maneira proibida por suas permissões de acesso. Um exemplo é usar um endereço de broadcast para sendto sem que a permissão de transmissão seja definida usando setsockopt (SO_BROADCAST).
-
WSAEADDRINUSE (10048)
Endereço já em uso.
Apenas um uso de cada endereço de soquete (protocolo / endereço IP / porta) é normalmente permitido. Este erro ocorre se um aplicativo tentar vincular um soquete a um endereço IP / porta que já tenha sido usado para um soquete existente ou a um soquete que não foi fechado corretamente ou a um que ainda esteja em processo de fechamento. Para aplicativos de servidor que precisam ligar vários soquetes ao mesmo número de porta, considere o uso de setsockopt (SO_REUSEADDR). Os aplicativos clientes geralmente não precisam chamar bind - a conexão escolherá automaticamente uma porta não usada.
-
WSAEADDRNOTAVAIL (10049)
Não é possível identificar o endereço indicado.
O endereço solicitado não é válido em seu contexto. Normalmente resulta de uma tentativa de vincular a um endereço que não é válido para a máquina local, ou conectar / enviar para um endereço ou porta que não é válido para uma máquina remota (por exemplo, porta 0).
-
WSAEAFNOSUPPORT (10047)
Família de endereços não suportada pela família de protocolos.
Um endereço incompatível com o protocolo solicitado foi usado. Todos os sockets são criados com uma "família de endereços" associadaAF_INET for Internet Protocols) e um tipo de protocolo genérico (ieSOCK_STREAM). Este erro será retornado se um protocolo incorreto for solicitado explicitamente na chamada do soquete, ou se um endereço da família errada for usado para um soquete, por exemplono sendto.
-
WSAEALREADY (10037)
Operação já em andamento.
Uma operação foi tentada em um soquete sem bloqueio que já tinha uma operação em andamento - isto é, chamando conectar uma segunda vez em um soquete não-bloqueador que já está se conectando ou cancelando uma solicitação assíncrona (WSAAsyncGetXbyY) que já foi cancelada ou concluída.
-
WSAECONNABORTED (10053)
Software causou o cancelamento da conexão.
Uma conexão estabelecida foi abortada pelo software em sua máquina host, possivelmente devido a um tempo limite de transmissão de dados ou erro de protocolo.
-
WSAECONNREFUSED (10061)
Ligação recusada.
Nenhuma conexão pôde ser feita porque a máquina de destino recusou ativamente. Isso geralmente resulta de tentar se conectar a um serviço que está inativo no host externo - ou seja, um sem aplicativo do servidor em execução.
-
WSAECONNRESET (10054)
Conexão redefinida pelo peer.
Uma conexão existente foi forçosamente fechada pelo host remoto. Isso normalmente ocorre se o aplicativo peer no host remoto for interrompido repentinamente, se o host for reinicializado ou se o host remoto tiver usado um "hard close" (consulte setsockopt para obter mais informações sobre a opção SO_LINGER no soquete remoto).
-
WSAEDESTADDRREQ (10039)
Endereço de destino necessário.
Um endereço obrigatório foi omitido de uma operação em um soquete. Por exemplo, esse erro será retornado se o sendto for chamado com o endereço remoto de ADDR_ANY.
-
WSAEFAULT (10014)
Endereço incorreto
O sistema detectou um endereço de ponteiro inválido na tentativa de usar um argumento de ponteiro de uma chamada. Esse erro ocorre se um aplicativo passar um valor de ponteiro inválido ou se o tamanho do buffer for muito pequeno. Por exemplo, se o comprimento de um argumento que é um struct sockaddr for menor que sizeof (struct sockaddr).
-
WSAEHOSTDOWN (10064)
Anfitrião está em baixo.
Uma operação de soquete falhou porque o host de destino estava inativo. Uma operação de soquete encontrou um host inativo. A atividade de rede no host local não foi iniciada. Essas condições são mais prováveis de serem indicadas pelo erro WSAETIMEDOUT.
-
WSAEHOSTUNREACH (10065)
Nenhuma rota para hospedar.
Uma operação de soquete foi tentada para um host inacessível. Este erro também ocorre quando o seu provedor está bloqueando intencionalmente a porta 25 (a porta SMTP) em uma tentativa de reduzir o spam através de seus sistemas. Veja WSAENETUNREACH
-
WSAEINPROGRESS (10036)
Operação agora em andamento.
Uma operação de bloqueio está sendo executada no momento. Soquetes do Windows permite somente uma única operação de bloqueio por tarefa (ou thread), e se qualquer outra chamada de função é feita (se ele faz referência a isso ou qualquer outro soquete) a função falhará com o erro WSAEINPROGRESS.
-
WSAEINTR (10004)
Chamada de função interrompida.
Uma operação de bloqueio foi interrompida por uma chamada para o WSACancelBlockingCall.
-
WSAEINVAL (10022)
Argumento inválido.
Algum argumento inválido foi fornecido (por exemplo, especificando um nível inválido para a função setsockopt). Em alguns casos, também se refere ao estado atual do soquete - por exemplo, chamando accept em um soquete que não está escutando.
-
WSAEISCONN (10056)
O soquete já está conectado.
Uma solicitação de conexão foi feita em um soquete já conectado. Algumas implementações também retornam esse erro se sendto é chamado em um soquete SOCK_DGRAM conectado (para soquetes SOCK_STREAM, o parâmetro para em sendto é ignorado), embora outras implementações tratem isso como uma ocorrência legal.
-
WSAEMFILE (10024)
Muitos arquivos abertos.
Muitos sockets abertos. Cada implementação pode ter um número máximo de identificadores de soquete disponíveis, globalmente, por processo ou por thread.
-
WSAEMSGSIZE (10040)
Mensagem por muito tempo.
Uma mensagem enviada em um datagrama era maior do que o buffer de mensagem interna ou algum outro limite de rede, ou o buffer usado para receber um datagrama era menor do que o próprio datagrama.
-
WSAENETDOWN (10050)
Rede está em baixo.
Uma operação de soquete encontrou uma rede inativa. Isto pode indicar uma falha grave do sistema de rede (ou seja, a pilha de protocolos em que a WinSock DLL é executada), a interface de rede ou a própria rede local.
-
WSAENETRESET (10052)
Rede caiu conexão na redefinição.
O host ao qual você estava conectado caiu e reiniciou. Também pode ser retornado por setsockopt se for feita uma tentativa de definir SO_KEEPALIVE em uma conexão que já falhou.
-
WSAENETUNREACH (10051)
Rede está inacessível.
Uma operação de soquete foi tentada para uma rede inacessível. Isso geralmente significa que o software local não conhece nenhuma rota para alcançar o host remoto.
-
WSAENOBUFS (10055)
Nenhum espaço de buffer disponível.
Uma operação em um soquete não pôde ser executada porque o sistema não tinha espaço suficiente no buffer ou porque a fila estava cheia.
-
WSAENOPROTOOPT (10042)
Opção de protocolo inválido.
Uma opção ou nível desconhecido, inválido ou sem suporte foi especificado em um getsockopt ou setsockoptcall.
-
WSAENOTCONN (10057)
O soquete não está conectado.
Um pedido para enviar ou receber dados foi desautorizado porque o soquete não está conectado e (ao enviar em um soquete de datagrama usando sendto) nenhum endereço foi fornecido. Qualquer outro tipo de operação também pode retornar esse erro - por exemplo, setsockoptsetting SO_KEEPALIVE se a conexão tiver sido redefinida.
-
WSAENOTSOCK (10038)
Operação de soquete no não-soquete.
Uma operação foi tentada em algo que não é um soquete. O parâmetro de identificador de soquete não referenciou um soquete válido ou, para select, um membro de um fd_set não era válido.
-
WSAEOPNOTSUPP (10045)
Operação não suportada.
A operação tentada não é suportada para o tipo de objeto referenciado. Geralmente isso ocorre quando um descritor de soquete para um soquete não pode suportar essa operação, por exemplo, tentando aceitar uma conexão em um soquete de datagrama.
-
WSAEPFNOSUPPORT (10046)
Família de protocolo não suportada.
A família de protocolos não foi configurada no sistema ou nenhuma implementação existe. Tem um significado ligeiramente diferente para WSAEAFNOSUPPORT, mas é intercambiável na maioria dos casos, e todas as funções do Windows Sockets que retornam uma delas especificam WSAEAFNOSUPPORT.
-
WSAEPROCLIM (10067)
Muitos processos.
Uma implementação do Windows Sockets pode ter um limite no número de aplicativos que podem usá-lo simultaneamente. O WSAStartup pode falhar com esse erro se o limite for atingido.
-
WSAEPROTONOSUPPORT (10043)
Protocolo não suportado.
O protocolo solicitado não foi configurado no sistema ou não existe implementação para ele. Por exemplo, um socketcall solicita um soquete SOCK_DGRAM, mas especifica um protocolo de fluxo.
-
WSAEPROTOTIPO (10041)
Tipo errado de protocolo para socket.
Um protocolo foi especificado na chamada da função socket que não suporta a semântica do tipo de soquete solicitado. Por exemplo, o protocolo ARPA Internet UDP não pode ser especificado com um tipo de soquete de SOCK_STREAM.
-
WSAESHUTDOWN (10058)
Não é possível enviar após o encerramento do soquete.
Uma solicitação para enviar ou receber dados não era permitida porque o soquete já havia sido desligado nessa direção com uma chamada de desligamento anterior. Ao chamar o desligamento, um fechamento parcial de um soquete é solicitado, o que é um sinal de que enviar ou receber, ou ambos, foi descontinuado.
-
WSAESOCKTNOSUPPORT (10044)
Tipo de soquete não suportado.
O suporte para o tipo de soquete especificado não existe nesta família de endereços. Por exemplo, o tipo opcional SOCK_RAW pode ser selecionado em um socketcall e a implementação não suporta soquetes SOCK_RAW.
-
WSAETIMEDOUT (10060)
Conexão esgotada.
Uma tentativa de conexão falhou porque a parte conectada não respondeu corretamente após um período ou a conexão estabelecida falhou porque o host conectado não respondeu.
-
WSAEWOULDBLOCK (10035)
Recurso temporariamente indisponivel.
Esse erro é retornado das operações em soquetes sem bloqueio que não podem ser concluídos imediatamente, por exemplo, recv quando nenhum dado é enfileirado para ser lido do soquete. É um erro não fatal e a operação deve ser tentada novamente mais tarde. É normal que WSAEWOULDBLOCK seja relatado como resultado da chamada de conexão em um soquete SOCK_STREAM sem bloqueio, já que deve transcorrer algum tempo para que a conexão seja estabelecida.
-
WSAHOST_NOT_FOUND (11001)
Host não encontrado.
Nenhum host desse tipo é conhecido. O nome não é um nome de host ou alias oficial, ou não pode ser encontrado no (s) banco (s) de dados sendo consultados. Esse erro também pode ser retornado para consultas de protocolo e serviço e significa que o nome especificado não pôde ser encontrado no banco de dados relevante.
-
WSA_INVALID_HANDLE (dependente do sistema operacional)
O identificador de objeto de evento especificado é inválido.
Um aplicativo tenta usar um objeto de evento, mas o identificador especificado não é válido.
-
WSA_INVALID_PARAMETER (dependente do sistema operacional)
Um ou mais parâmetros são inválidos.
Um aplicativo usava uma função do Windows Sockets que mapeia diretamente para uma função do Win32. A função Win32 está indicando um problema com um ou mais parâmetros.
-
WSAINVALIDPROCTABLE (dependente do sistema operacional)
Tabela de procedimento inválida do provedor de serviços.
Um provedor de serviços retornou uma tabela proc falsa para WS2_32.DLL. (Geralmente causado por um ou mais dos ponteiros de função sendo NULL.)
-
WSAINVALIDPROVIDER (dependente do sistema operacional)
Número de versão do provedor de serviços inválido.
Um provedor de serviços retornou um número de versão diferente de 2.0.
-
WSA_IO_PENDING (dependente do sistema operacional)
As operações sobrepostas serão concluídas mais tarde.
O aplicativo iniciou uma operação sobreposta que não pode ser concluída imediatamente. Uma indicação de conclusão será dada em um momento posterior, quando a operação for concluída.
-
WSA_IO_INCOMPLETE (dependente do sistema operacional)
Objeto de evento de E / S sobreposta que não está no estado sinalizado.
O aplicativo tentou determinar o status de uma operação sobreposta que ainda não foi concluída. Aplicativos que usam WSAWaitForMultipleEvents em um modo de pesquisa para determinar quando uma operação sobreposta foi concluída receberão esse código de erro até que a operação seja concluída.
-
WSA_NOT_ENOUGH_MEMORY (dependente do sistema operacional)
Memória insuficiente disponível.
Um aplicativo usava uma função do Windows Sockets que mapeia diretamente para uma função do Win32. A função Win32 está indicando uma falta de recursos de memória necessários.
-
WSANOTINITIALISED (10093)
WSAStartup bem sucedido ainda não executado.
O aplicativo não chamou o WSAStartup ou o WSAStartup falhou. O aplicativo pode estar acessando um soquete que a tarefa ativa atual não possui (ou seja, tentando compartilhar um soquete entre tarefas), ou WSACleanup foi chamado muitas vezes.
-
WSANO_DATA (11004)
Nome válido, sem registro de dados do tipo solicitado.
O nome solicitado é válido e foi encontrado no banco de dados, mas não tem os dados associados corretos sendo resolvidos para. O exemplo usual para isso é uma tentativa de conversão de endereço hostname - > (usando gethostbyname ou WSAAsyncGetHostByName) que usa o DNS (Domain Name Server) e um registro MX é retornado, mas nenhum registro A - indicando que o próprio host existe, mas não diretamente acessível.
-
WSANO_RECOVERY (11003)
Este é um erro não recuperável.
Isso indica que algum tipo de erro não recuperável ocorreu durante uma consulta ao banco de dados. Isso pode ser porque os arquivos do banco de dadosNão foi possível encontrar arquivos HOSTS, SERVICES ou PROTOCOLS compatíveis com BSD) ou uma solicitação de DNS foi retornada pelo servidor com um erro grave.
-
WSAPROVIDERFAILEDINIT (dependente do sistema operacional)
Não é possível inicializar um provedor de serviços.
A DLL de um provedor de serviços não pôde ser carregada (LoadLibrary falhou) ou a função WSPStartup / NSPStartup do provedor falhou.
-
WSASYSCALLFAILURE (dependente do sistema operacional)
Falha na chamada do sistema.
Retornado quando uma chamada de sistema que nunca deve falhar faz. Por exemplo, se uma chamada para WaitForMultipleObjects falhar ou uma das funções de registro falhar ao tentar manipular os catálogos de protocolo / name .
-
WSASYSNOTREADY (10091)
O subsistema de rede está indisponível.
Este erro é retornado pelo WSAStartup se a implementação do Windows Sockets não pode funcionar neste momento porque o sistema subjacente que ele usa para fornecer serviços de rede está indisponível no momento. Os usuários devem verificar:
que o arquivo WINSOCK.DLL está no caminho atual,
que o arquivo WINSOCK.DLL é do mesmo fornecedor como a pilha de protocolo subjacente. Eles não podem ser misturados e correspondidos (WinSock DLLs devem ser fornecidos pelo mesmo fornecedor que forneceu a pilha de protocolo subjacente).
que eles não estão tentando usar mais de uma implementação do Windows Sockets simultaneamente. Se houver mais de uma DLL WINSOCK em seu sistema, verifique se a primeira no caminho é apropriada para o subsistema de rede atualmente carregado.
a documentação de implementação do Windows Sockets para garantir que todos os componentes necessários estejam atualmente instalados e configurados corretamente.
-
WSATRY_AGAIN (11002)
Host não autoritativo não encontrado.
Isso geralmente é um erro temporário durante a resolução do nome do host e significa que o servidor local não recebeu uma resposta de um servidor autoritativo. Uma nova tentativa em algum momento posterior pode ser bem-sucedida.
-
WSAVERNOTSUPPORTED (10092)
Versão WINSOCK.DLL fora do intervalo.
A atual implementação do Windows Sockets não suporta a versão da especificação do Windows Sockets solicitada pelo aplicativo. Verifique se nenhum arquivo WINSOCK.DLL antigo está sendo acessado ou entre em contato com o fornecedor da pilha para verificar se existe um arquivo WINSOCK.DLL atualizado.
-
WSAEDISCON (10094)
Desligamento gracioso em andamento.
Retornado por recv, WSARecvto indica que a parte remota iniciou uma sequência de desligamento normal.
-
WSA_OPERATION_ABORTED (dependente do sistema operacional)
Operação sobreposta abortada.
Uma operação sobreposta foi cancelada devido ao encerramento do soquete ou à execução do comando SIO_FLUSH no WSAIoctl.