2

さまざまな制約により、次のような状況に陥っています。

コンピューターのループバック デバイス (127.0.0.1) でサービスを開始する API にアクセスできます。このコンピューターは、クライアントによってホストされている VM 上で実際に実行されています。クライアントは同じ API を使用して接続します (もちろん、ループバック デバイス経由で接続します)。

API は、ホストおよびクライアントと同じマシン上で実行されるサービスであることを意図しています。これは本質的に通信層です。2 つのソフトウェア コンポーネント (つまり、エンドポイント) は互換性がないため、VM でサーバーをホストするクライアントのように構成しました。

VM は Virtualbox で、ブリッジ アダプター ネットワークがセットアップされています。

どちらも Windows XP を実行しています。

どうすれば彼らにコミュニケーションをとらせることができますか?

編集: 通信サービスを変更することはできませんが、VM またはホストに必要なその他の変更はすべて行うことができます。

4

2 に答える 2

1

ポート転送を使用するという @EJP の提案を拡張し、必要なコマンドは User Manual§6.3.1 Configure port forwarding with NAT で説明されています。ゲストの「VM 名」がポート 80 でリッスンしている Web サーバーであるとします。service次のように、ホスト ポート 12345 をゲスト ポート 80 に転送できます。

VBoxManage modifyvm "VM name" --natpf1 "service,tcp,,12345,,80"

ホストを参照するhttp://127.0.0.1:12345と、ゲスト サーバーが応答します。次のようなものを使用して設定を削除できます。

VBoxManage modifyvm "VM name" --natpf1 delete "service"

次のようなものを使用して設定を調べることができます。

VBoxManage showvminfo "VM name"
于 2013-02-01T02:53:41.100 に答える
0

可能であれば、127.0.0.1 にバインドしないようにサービスを変更する必要があります。それ以外の場合は、VM に何らかのプロキシをインストールするか、可能であればポート転送を整理する必要があります。

于 2013-02-01T01:17:02.677 に答える