Cliente não capaz de entrar em contato com o servidor da Web sobre N/W sem fio - através do código

StackOverflow https://stackoverflow.com/questions/1021994

  •  06-07-2019
  •  | 
  •  

Pergunta

//code in the client
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.0.5/test");
WebResponse response = request.GetResponse();

Eu tenho uma configuração da LAN com duas máquinas no meu grupo de trabalho. - 192.168.0.1 (esse é o cliente) - 192.168.0.5 (esse é o servidor da web)

A parte do código acima funciona perfeitamente bem em uma rede com fio simples.

Quando o executo em uma rede sem fio, ou seja, com a configuração de rede usando um roteador Wi -Fi em vez de um switch, o código não funciona - ele fica preso ao GetResponse.

Estranhamente, quando eu abro meu navegador e tipo - http://192.168.0.5/test - Funciona ... A página aparece!

o que estou perdendo? Por que o cliente não consegue entrar em contato com o servidor através do código?

Foi útil?

Solução

Por "fica preso", você quer dizer que está pendurado?

Este é o primeiro pedido no programa, ou existem outros? Uma causa frequente de solicitações da Web "suspensa" é a falha em fechar/descartar as respostas da Web. Depois de fazer duas solicitações (por padrão) para o mesmo servidor, você precisaria aguardar a finalização das respostas.

Não sei por que isso apenas afetaria você no caso de uma conexão de rede sem fio em vez de conectar, mas se você não estiver fechando as respostas da web (de preferência com using declarações) eu recomendo consertar isso para começar.

Em seguida, rastreie a rede com Wireshark. Isso deve facilitar a verificação se a solicitação é realmente enviada, se uma resposta volta etc.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top