HTTP/WCFを使用してローカルネットワークを介して通信する2つのアプリケーションを取得しようとしています。マスターはWebリクエストを作成し、それぞれがWebサービスを実行しているスレーブアプリケーションを探します。スレーブはlocalhost:\\[MACHINENAME]:8000
同じネットワーク上で通信するコンピュータ
に応答するように設定されています。スレーブをマスタと同じコンピュータで実行しても、同じネットワーク上の別のコンピュータでスレーブを実行しても機能しません。私はコンピュータがcmdプロンプト[MachineName]によって同じネットワーク上にあることを確認します。同じネットワーク上の別のコンピュータに要求を送信するためには何が必要ですか?
スレーブは、Webサービスをセットアップします。それをブロックする
public void Run()
{
Config config = Config.validateAndCreate();
string machineName = System.Environment.MachineName;
string baseAddress = "http://" + machineName + ":" + config.port;
Service.setConfig(config);
if (new Service().UpdateScripts().status != ExecStatus.OK)
{
throw new Exception("Failed to update scripts");
}
using (WebServiceHost host = new WebServiceHost(typeof(Service), new Uri(baseAddress)))
{
host.Description.Behaviors.Add(new ServiceMetadataBehavior { HttpGetEnabled = true });
host.Description.Behaviors.Find<ServiceDebugBehavior>().IncludeExceptionDetailInFaults = true;
host.Description.Behaviors.Find<ServiceDebugBehavior>().HttpHelpPageEnabled = false;
ServiceEndpoint ep = host.AddServiceEndpoint(typeof(IService), new WebHttpBinding(), "");
host.Open();
log.Info("Service is running at: " + baseAddress);
log.Info("Press the 'q' key to quit...");
while (Console.ReadKey(true).Key != ConsoleKey.Q) { }
host.Close();
}
}
実行中のWindowsファイアウォールなどのファイアウォールはありますか?それはそれを止める最も可能性の高いものです。 –
私はチェックします!ファイアウォールがブロックしているかどうかを確認する方法はありますか? – Lautaro
httpを使用している場合、最も簡単なチェックはウェブブラウザを使用しています。 –