我正在使用一个Android应用程序,它将实时加速度计数据流式传输到服务器的指定IP地址。我写了一个"服务器"在运行于VMware的Linux上的C中运行。
我已连接到运行VMware Workstation的Windows7(主机)创建的热点。
所以我的问题是如何将虚拟机连接到与热点相同的网络,以便我可以获得电话和服务器"程序在同一网络上并将数据流传输到服务器程序?
答案 0 :(得分:0)
我使用VirtualBox,但我猜测VMWare Workstation中的设置非常相似。
您可能需要执行以下一项或两项操作:
1)端口转发。如果您的应用程序正在访问端口80(或任何端口),则需要告知VMWare任何进入该端口上的主机的命中都会转发到VM。当然,您的VM必须在该端口上进行侦听。我建议使用一个高端口号(超过1024)来最小化冲突,并使用低端口号避免恼人的root / admin问题。
2)希望能让你到达那里。如果没有,您可能需要更改VM上的虚拟适配器设置。 NAT模式是一个很好的第一次尝试。如果没有,还可以修改其他模式(桥接,内部,仅限主机)。 (不确定VMWare是否使用不同的名称)
这可能只是您所描述的拓扑所需要的 - Android设备直接连接到与主机相同的子网。如果没有,也许您的热点将所有客户端流量路由到网关(即,到Internet),而不允许直接访问localhost。如果是这样,也许有设置。如果没有,ngrok是你最好的朋友。
超级简单,允许您将来自Internet上任何位置的流量隧道传输到计算机上运行的特定服务。这将回避上述一些问题。
如果您想将您的Android设备带到另一个网络(例如手机网络),那么ngrok绝对是最佳选择,特别是对于开发和原型设计。这可以避免DNS,路由,防火墙等问题。