2

私のc#httplistenerは、ローカルネットワークで(ローカルエリアIPを使用して同じwifi上のマシンから)リクエストを送信したときにのみリクエストをキャッチします。

パブリック IP (Google で「my ip」を使用) を調べて、その URL から get 要求を入力すると、応答がなく、Visual Studio でイベントがトリガーされない

プレフィックスを正しく付けて listener.Prefixes.Add("http://*:2999/"); アクセス制御ヘッダーを設定しました。パブリックではなく、ローカルの URL リクエストで完全に機能します

また、ホストマシンの外で動作しないことについて多くの質問があります.私のものは動作しますが、パブリックIPが応答しないため、ローカルネットワークの外では動作しません.

編集:ルーターで何かをすることなくこれを行う方法はありますか? 大学のネットワークを使用していて、ルーターのポート設定にアクセスできません

4

2 に答える 2

4

ルーターの WAN 側からサーバーにポート 2999 を転送する必要があります。この手順はメーカー固有であり、Web 上で簡単に検索できます。

于 2012-09-11T00:37:37.153 に答える
0

C#HttpListenerは、ローカルコンピューターまたはローカルネットワーク(Windows7)で(正しいポート転送で)機能しました。応答でインターネットにアクセスすると、HttpListener は常にエラー 50 を返しました * 禁止されている可能性がありますが、どこで構成されているかわかりません。TcpListener を使用して、手動で HTTP リクエストを解析する必要がありました。

于 2012-09-27T10:29:14.530 に答える