Como saber em que ponto uma solicitação falha no Windows 8

0

Estou testando um script pequeno no Windows 8, que tenta buscar uma página da Web simples na porta 80. No entanto, a conexão de rede falha toda vez com o erro 10053 .

Pensei inicialmente em um problema de firewall (estou executando o McAffee), mas não tenho mais tanta certeza (nada nos logs; ainda falha quando desativo o firewall).

Então, o que posso fazer para delimitar o problema? Por exemplo, como pode ter certeza se a solicitação deixou a placa de rede?

Eu rodei o Wireshark, e ele realmente mostra uma pequena atividade:

(me) SYN

(remote ip) SYN, ACK

(me) ACK

(me) RST, ACK

Então, isso significa que a solicitação foi realmente enviada?

Obrigado antecipadamente

    
por Eino Gourdin 29.11.2013 / 17:07

1 resposta

2

Erro de Winsock 10053="WSAECONNABORTED" :

SOCKET_ERROR: An established connection was aborted by the software in your host machine.

O "software" mencionado é (muito provavelmente) Winsock em si.

Encontrou esta página , que tem uma excelente sinopse que parece cobrir exatamente o que você está encontrando nisso provavelmente o seu script não está formando um cabeçalho HTTP apropriado.

An HTTP POST is to be sent to an HTTP server.
The server begins reading the POST and notices that the HTTP request header is invalid.
It immediately sends an HTTP response (with an error status, perhaps status=400) and closes the connection without trying to continue reading the remainder of the HTTP request that is forthcoming.

Meanwhile, the client is still happily writing the remainder of the HTTP request to the socket. (Remember a TCP/IP socket connection needs to be closed from both sides. In this case, the server has closed its side, but the client is still pumping data into the half-open connection.)

The client finishes writing the HTTP POST to the socket — meaning that data has been buffered to Winsock. The client application then tries to read the HTTP response, but it cannot because the outgoing retransmission (of the buffered data by WinSock) failed and the socket connection was shutdown on the client side (by Winsock). Even though the HTTP server sent the response, it is lost and cannot be retrieved. The error your application will receive when trying to read the HTTP response on the socket is WSAECONNABORTED.

    
por 29.11.2013 / 18:57