クライアントがワイヤレスn / w経由でWebサーバーに接続できない-コード経由
-
06-07-2019 - |
質問
//code in the client
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://192.168.0.5/test");
WebResponse response = request.GetResponse();
ワークグループに2台のマシンがあるLANセットアップがあります。 -192.168.0.1(これがクライアントです) -192.168.0.5(Webサーバー)
上記のコードは、単純な有線ネットワークで完全に機能します。
ワイヤレスネットワーク、つまりスイッチの代わりにwi-fiルーターを使用したネットワークセットアップで実行すると、コードが機能しません-GetResponseでスタックします。
奇妙なことに、ブラウザを開いて http://192.168.0.5/test と入力すると-動作します...ページが表示されます!
不足しているものは何ですか?クライアントがコードを介してサーバーに接続できないのはなぜですか?
解決
「スタックする」ことによりハングするということですか?
これはプログラムの最初のリクエストですか、それとも他のリクエストですか? 「ハング」のよくある原因の1つWebリクエストは、Webレスポンスのクローズ/破棄の失敗です。同じサーバーに対して2つの(デフォルトで)要求を行ったら、応答が完了するまで待つ必要があります。
これが有線ではなく無線ネットワーク接続の場合にのみ影響する理由はわかりませんが、Web応答を閉じていない場合(できれば using
ステートメントを使用して) d修正することをお勧めします。
次に、 WireShark でネットワークをトレースします。これにより、リクエストが実際に送信されたかどうか、レスポンスが返されたかどうかなどを簡単に確認できます。
所属していません StackOverflow