2

由于各种限制,我发现自己处于以下情况:

我可以访问在计算机(127.0.0.1)的环回设备上启动服务的 API。这台计算机实际上运行在客户端托管的 VM 上。客户端将使用相同的 API 进行连接(当然,它将通过回送设备进行连接)。

API 旨在成为与主机和客户端在同一台机器上执行的服务 - 它本质上是一个通信层。这两个软件组件(即端点)不兼容,因此我们以这种方式配置它们:客户端在 VM 上托管服务器。

VM 是 Virtualbox,具有桥接适配器网络设置。

他们都运行Windows XP。

我如何让他们交流?

编辑:我不能对通信服务进行更改,但我可以对 VM 或主机进行任何其他必要的更改。

4

2 回答 2

1

扩展@EJP 使用端口转发的建议, 用户手册第 6.3.1 节介绍了使用 NAT 配置端口转发所需的命令。假设您service的来宾“VM 名称”是侦听端口 80 的 Web 服务器。您可以将主机端口 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。否则你将不得不在虚拟机中安装某种代理,或者如果可以的话组织一些端口转发。

于 2013-02-01T01:17:02.677 回答