2017-02-04 6 views
-1

これは非常に簡単です。私はuriがhttp://localhost:8081/である場合にうまく動作するWebSocketServerプロジェクトを持っていますが、localhost http://10.0.0.201:8081/の代わりにローカルIPを使用すると、そのIPで要求に応答することを拒否します。私はそのアクセス権の問題やポートの問題にアクセスすることができないと確信していますが、私は、間違いなく、率直に言って、ただ単に反応しません。誰かがこれについていくつかの光を当てることができますか?これはC#のものです。IPを使用してWebSocketServerに接続できません(しかし、localhostはOKです)

これもまたSERVERです。 10.0.0.201(もちろん、localhost)でLISTENすることになっています。 Localhostは動作しますが、IPはどのクライアントからのものでもありません。

これは、複数の同時実行クライアントをサポートするマルチスレッドアプリケーションであるため、私は意図的にコードを投稿しません(必要に応じて)。そして、それは完璧にlocalhostを介して動作します。私は "localhost"という言葉をマシンのIPに変更するだけです。この障害は、バインディングやアクセス許可の問題のように感じます。

+0

実際にリッスンしているサーバーはどのIPですか? 10.0.0.201または少なくとも0.0.0.0でリッスンしていますか?それとも127.0.0.1でリッスンしていますか? –

+0

はい、10.0.0.201をリッスンしています。これは、私が話しているサーバーです。 -1 lol。 uriがlocalhostであればそれはうまく聞きます。 –

+0

サーバーで10.0.0.201はポート8081が開いていますか?投稿と10.0.0.201だけを使って試してみて、アプリケーションがこのIPを特に指しているかどうか確認してください。 – Thennarasan

答えて

0

これはおそらく、ウェブサーバー(IISなど)のHttp Bindingが原因で、バインディングに明示的にlocalhostが必要な場合があり、URIにlocalhostがない場合、この接続は拒否されます。

バインドを空のホスト名に変更して、URIを許可するようにしてください。

+0

私は実際にWebサーバーを作成していますが、IISは使用していません。 –

+1

次に、ローカルホストではなく明示的なIPに応答する 'loopback'にバインドすることができるので、あなたのWebServerでどのインターフェースにバインドしているかを確認することができます。 – Mobigital

+0

ウェブサーバが正しく動作しているのと同じホストから 'http:// localhost:8081 /' vs 'http://10.0.0.201:8081 /'をテストしていますか?他のマシンからではありませんか? – Mobigital

0

これは示唆であり、回答ではありません。別のマシンからWebServerを起動しようとしましたか?たとえ静的なテストページであったとしても? が問題になる可能性がありますが、ローカルネットワーク上のマシンがIP /ポート設定を使用してそのマシンに到達できるかどうかを少なくとも通知します。

+0

よろしくお願いします。それが私が試した最初のことで、私はその問題に私を結びつけました。それから私はそれをローカルで試し、同じ問題を発見しました。 –

関連する問題