>他们有一个Windows程序运行在控制工业机械的PC上.
>他们有一个在Android设备(基本上是手机)上运行的专有应用程序(通过TCP插座与PC软件无缝连接),因此可以远程控制这些工业流程.
客户端现在想要的是在PC上运行的Web服务器和内置于应用程序中的Web浏览器,以控制其他Windows程序未被控制的其他进程.
我在PC上设置了一个WAMP服务器和一个示例网页,我可以在PC上的任何浏览器上看到“本地主机”.我知道如何添加一个Web浏览器通过WebView类查看Android应用程序.
但是我不知道如何让手机上的浏览器通过TCP连接看PC上的WAMP服务器.如何把这两件事挂钩?
解决方法
当该PC连接到您的手机时,必须使用底层的network interface,例如WiFi或以太网.另请注意,本地主机在loopback interface发布.应该注意的是,环回接口只能在设备本身中访问(即其他设备不能与其他设备的环回通信).
另一方面,一旦连接了接口,将分配一个IP address.我假设您的手机通过WiFi接口连接到该PC,所以在这种情况下,两个接口正在使用中.
>该PC的wlan接口
>手机的wlan界面.
两者都有其唯一的IP地址.如果要从手机连接到该PC,您应该知道该PC的wlan接口的IP地址.
如果您的PC是基于Linux的,您可以编写ifconfig并在inet addr字段(Under wlan0 section)中查看该IP地址.对于Windows机器读取this page.
在Android WebView中
此视图提供了一种称为loadUrl
的方法,用于从远程机器获取HTML内容.您应该传递给此方法的字符串格式如下:
http://IP_ADDRESS:PORT_NUMBER
哪里
> IP_ADDRESS
:远程机器的IP地址. (在您的情况下,您在上一步中找到的)
> PORT_NUMBER
:每个机器可以在不同的端口上侦听不同的目的(例如HTTP,FTP,SSH,…). HTTP的默认端口为80.
因此,如果我们假设该PC的IP地址是192.168.0.1,则应该具有:
webView.loadUrl("http://192.168.0.1:80");
要么
webView.loadUrl("http://192.168.0.1"); // Because 80 is the default port number for HTTP