android – 通过套接字看到一个Web服务器. . .

目前,我支持具有以下架构的客户端,用于工业制造过程:

>他们有一个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

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...