- 浏览: 344853 次
- 性别:
- 来自: 南京
文章分类
最新评论
-
2006003845:
ghlimbrother 写道用这种方法怎么把so文件打包进去 ...
原:Android 命令行手动编译打包详解 -
2006003845:
你好 请问下 如果项目中 libs/ 有jar 包 有.s ...
原:Android 命令行手动编译打包详解 -
shiyanshiguize:
楼主在吗?我在执行第一步:使用aapt生成R.java类文件: ...
原:Android 命令行手动编译打包详解 -
IWSo:
测试代码写什么方法里?
原:Android 获取屏幕高度、标题高度、状态栏高度详解 -
a13525177343:
楼主今天查看build.xml的作用的时候,看见你的博文的,我 ...
原:Android 命令行手动编译打包详解
1.连网相关包介绍
今天我们将深入介绍了Android SDK 中一些与网络有关的package,如下:
包描述
上表并没有列出所有包,但是可以让我们清楚地意识到Android的强大功能。
介绍一个简单的网络示例
在EditView中输入URL后,单击“go!”按钮,界面显示如下
界面部分的代码简要明了,就不此额外说明了,下面详细解析核心代码,如下:
简要解析如下:URL 和 URLConnection 类共同提供与用户所选的 Web 站点的连接。BufferedReader 的一个实例负责从 Web 站点连接中读取传入的数据。每读取一行代码,文本就被附加到一个 TextView。数据并没有直接指定给 TextView,而是引入了一种设计模式,即创建一个消息对象并将该对象发送到一个处理程序的实例。这是更新 UI 的一种比较可取的方法,对可能需要同时运行多个线程的应用程序而言尤其如此。 A Handler allows you to send and process Message and Runnable objects associated with a thread’s MessageQueue,这句话简单明了,相信大家一看就完全明白了。
补充说明
以上程序,在实际运行中可能会导致异常,catch (Exception e) 输出异常信息:
java.net.SocketException: Permission denied(maybe missing INTERNET permission)
需要在AndroidManifest.xml中定义相应的权限,如下:
<uses-permission android:name=”android.permission.INTERNET” />
注意在<application>也可以定义INTERNET权限,如下:
<application android:permission=”android.permission.INTERNET”>
这种权限似乎还是会导致异常,看来两种权限除了作用的范围有所不同,具体的作用也是有些不同的,以后开发中需要注意两者的区别。
2、org.apache.http联网实现
Android使用HttpClient完成Post和Get方式的联网请求
Android联网可以采用HttpPost,HttpGet封装post请求和get请求,再使用HttpClient的excute方法发送post或者get请求并返回服务器的响应数据。
1、设置连接和读取超时时间,并新建HttpClient对象:
// 设置连接超时时间和数据读取超时时间
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
KeySource.CONNECTION_TIMEOUT_INT);
HttpConnectionParams.setSoTimeout(httpParams,
KeySource.SO_TIMEOUT_INT);
//新建HttpClient对象
HttpClient httpClient = new DefaultHttpClient(httpParams)
2、Get请求:
// generate get request
HttpGet get = new HttpGet(url);
// set HTTP head parameters
//Map<String, String> headers
if (headers != null)
{
Set<String> setHead = headers.keySet();
Iterator<String> iteratorHead = setHead.iterator();
while (iteratorHead.hasNext())
{
String headerName = iteratorHead.next();
String headerValue = (String) headers.get(headerName);
MyLog.d(headerName, headerValue);
get.setHeader(headerName, headerValue);
}
}
// connect
//need try catch
response = httpClient.execute(get);
3、Post请求:
HttpPost post = new HttpPost(KeySource.HOST_URL_STR);
// set HTTP head parameters
Map<String, String> headers = heads;
Set<String> setHead = headers.keySet();
Iterator<String> iteratorHead = setHead.iterator();
while (iteratorHead.hasNext())
{
String headName = iteratorHead.next();
String headValue = (String) headers.get(headName);
post.setHeader(headName, headValue);
}
/**
* 通常的HTTP实体需要在执行上下文的时候动态生成的。
* HttpClient的提供使用EntityTemplate实体类和ContentProducer接口支持动态实体。
* 内容制作是通过写需求的内容到一个输出流,每次请求的时候都会产生。
* 因此,通过EntityTemplate创建实体通常是独立的,重复性好。
*/
ContentProducer cp = new ContentProducer()
{
public void writeTo(OutputStream outstream)
throws IOException
{
Writer writer = new OutputStreamWriter(outstream,
"UTF-8");
writer.write(requestBody);
writer.flush();
writer.close();
}
};
HttpEntity entity = new EntityTemplate(cp);
post.setEntity(entity);
}
//connect ,need try catch
response = httpClient.execute(post);
4、请求Response响应处理:
if (response.getStatusLine().getStatusCode() == 200)
{
// get response xml.
/**
* 因为直接调用toString可能会导致某些中文字符出现乱码的情况。所以此处使用toByteArray
* 如果需要转成String对象,可以先调用EntityUtils.toByteArray()方法将消息实体转成byte数组,
* 在由new String(byte[] bArray)转换成字符串。
*/
byte[] bResultXml = EntityUtils.toByteArray(response
.getEntity());
if (bResultXml != null)
{
String strXml = new String(bResultXml, "utf-8");
}
}
//Todo xmlAnalysis..
3.java.net 联网详解
本篇幅我们漫游java.net包,按照网络方面的知识来逐步学习java网络编程,并给大家介绍一些小例子,边学习边写代码。
首先,IP地址
IP地址估计大家都明白,我们就直接来看java.net中的类吧。
详细介绍就不多说了,看2个简单的小例子如下:
上面2个小例子很简单,但是有一点必须说明的,在写网络编程方面的,必须注意异常的捕获,网络异常是比较正常的现象,比如说当前网络繁忙,网络连接 超时,更是“家常便饭”。因此在写网络编程的时候,必须养成捕获异常的好习惯,查看完函数说明后,必须要注意网络异常的说明。例如下图中的说明:
public static InetAddress getByAddress (byte[] ipAddress)
Since: API Level 1
Returns the InetAddress corresponding to the array of bytes. In the case of an IPv4 address there must be exactly 4 bytes and for IPv6 exactly 16 bytes. If not, an UnknownHostException is thrown.
The IP address is not validated by a name service.
The high order byte is ipAddress[0].
Parameters
ipAddress is either a 4 (IPv4) or 16 (IPv6) byte long array.
Returns
* an InetAddress instance representing the given IP address ipAddress.
Throws
UnknownHostException if the given byte array has no valid length.
在使用getByAddress ()函数的时候就必须捕获UnknownHostException这个异常。
然后,URL地址
看到这个类,不仅让我想起来MFC在网络编程方面的复杂,一个
BOOL AFXAPI AfxParseURL(LPCTSTR pstrURL, DWORD& dwServiceType,CString& strServer, CString& strObject, INTERNET_PORT& nPort);
函数,让人看起来就感觉不知道在说明,在编写MFC网络编程方面的时候一般都会自己写个URL类,而在JAVA中的直接提供了这个类,让初学者看起 来明白多了。一个简单的例子如下:
其次,套接字socket类
套接字通信的基本思想比较简单,客户端建立一个到服务器的链接,一旦连接建立了,客户端就可以往套接字里写入数据,并向服务器发送数据;反过来,服 务器读取客户端写入套接字里的数据。几乎就那样简单,也许细节会复杂些,但是基本思想就这么简单。举个简单的例子如下:
如果使用本地主机(localhost)来测试这个程序,输出结果如下:
Connceted to localhost/127.0.0.1
InetAddress.toString()的隐含调用(println调用)自动输出主机名和IP地址。
至于其他套接字:DatagramSocket (通过UDP通信的套接字),MulticastSocket (一 种用于多点传送的套接字)以及ServerSocket (一种用于监听来自客户端的连接的套接字),在这里就不一一说 明。
最后,URLConncetion类
在一般情况下,URL这个类就可以满足我们的需求,但是在一些特殊情况下,比如HTTP数据头的传递,这个时候我们就得使用 URLConncetion,如下图所示:
使用URLConncetion,我们对网络的控制就增加了很多,举个例子如下:
关于HTTP数据头方面的知识,前段时间在编写流媒体下载的时候学习了下HTTP数据头的结构,下面列举一个HTTP request/response的一个完整流程如下,有兴趣的可以看下:
Android 实现联网(三)——在线程中联网
http://tonyyu.iteye.com/blog/679674
今天我们将深入介绍了Android SDK 中一些与网络有关的package,如下:
包描述
java.net | 提供与联网有关的类,包括流和数据包(datagram)sockets、Internet 协议和常见 HTTP 处理。该包是一个多功能网络资源。有经验的 Java 开发人员可以立即使用这个熟悉的包创建应用程序。 |
java.io | 虽然没有提供显式的联网功能,但是仍然非常重要。该包中的类由其他 Java 包中提供的 socket 和连接使用。它们还用于与本地文件(在与网络进行交互时会经常出现)的交互。 |
java.nio | 包含表示特定数据类型的缓冲区的类。适合用于两个基于 Java 语言的端点之间的通信。 |
org.apache.* | 表示许多为 HTTP 通信提供精确控制和功能的包。可以将 Apache 视为流行的开源 Web 服务器。 |
android.net | 除核心 java.net.* 类以外,包含额外的网络访问 socket。该包包括 URI 类,后者频繁用于 Android 应用程序开发,而不仅仅是传统的联网方面 |
android.net.http | 包含处理 SSL 证书的类。 |
android.net.wifi | 包含在 Android 平台上管理有关 WiFi(802.11 无线 Ethernet)所有方面的类。并不是所有设备都配备了 WiFi 功能,特别是 Android 在 Motorola 和 LG 等手机制造商的 “翻盖手机” 领域获得了成功。 |
android.telephony.gsm | 包含用于管理和发送 SMS(文本)消息的类。一段时间后,可能会引入额外的包来来为非 GSM 网络提供类似的功能,比如 CDMA 或 android.telephony.cdma 等网络。 |
上表并没有列出所有包,但是可以让我们清楚地意识到Android的强大功能。
介绍一个简单的网络示例
在EditView中输入URL后,单击“go!”按钮,界面显示如下
界面部分的代码简要明了,就不此额外说明了,下面详细解析核心代码,如下:
final Button button = (Button) findViewById(R.id.ButtonGo); button.setOnClickListener(new Button.OnClickListener() { public void onClick(View v) { try{ tView.setText(”"); // 获取输入的URL地址 URL url = new URL(eText.getText().toString()); URLConnection conn = url.openConnection(); //获取网页数据流 BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); String line = “”; //读取数据 while ((line = rd.readLine()) != null) { Message lmsg; lmsg = new Message(); lmsg.obj = line; lmsg.what = 0; //将数据显示在界面上 h.sendMessage(lmsg); } } catch (Exception e) { //输出异常信息 Log.v(”Browse”, e.toString()); } } });
简要解析如下:URL 和 URLConnection 类共同提供与用户所选的 Web 站点的连接。BufferedReader 的一个实例负责从 Web 站点连接中读取传入的数据。每读取一行代码,文本就被附加到一个 TextView。数据并没有直接指定给 TextView,而是引入了一种设计模式,即创建一个消息对象并将该对象发送到一个处理程序的实例。这是更新 UI 的一种比较可取的方法,对可能需要同时运行多个线程的应用程序而言尤其如此。 A Handler allows you to send and process Message and Runnable objects associated with a thread’s MessageQueue,这句话简单明了,相信大家一看就完全明白了。
补充说明
以上程序,在实际运行中可能会导致异常,catch (Exception e) 输出异常信息:
java.net.SocketException: Permission denied(maybe missing INTERNET permission)
需要在AndroidManifest.xml中定义相应的权限,如下:
<uses-permission android:name=”android.permission.INTERNET” />
注意在<application>也可以定义INTERNET权限,如下:
<application android:permission=”android.permission.INTERNET”>
这种权限似乎还是会导致异常,看来两种权限除了作用的范围有所不同,具体的作用也是有些不同的,以后开发中需要注意两者的区别。
2、org.apache.http联网实现
Android使用HttpClient完成Post和Get方式的联网请求
Android联网可以采用HttpPost,HttpGet封装post请求和get请求,再使用HttpClient的excute方法发送post或者get请求并返回服务器的响应数据。
1、设置连接和读取超时时间,并新建HttpClient对象:
// 设置连接超时时间和数据读取超时时间
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams,
KeySource.CONNECTION_TIMEOUT_INT);
HttpConnectionParams.setSoTimeout(httpParams,
KeySource.SO_TIMEOUT_INT);
//新建HttpClient对象
HttpClient httpClient = new DefaultHttpClient(httpParams)
2、Get请求:
// generate get request
HttpGet get = new HttpGet(url);
// set HTTP head parameters
//Map<String, String> headers
if (headers != null)
{
Set<String> setHead = headers.keySet();
Iterator<String> iteratorHead = setHead.iterator();
while (iteratorHead.hasNext())
{
String headerName = iteratorHead.next();
String headerValue = (String) headers.get(headerName);
MyLog.d(headerName, headerValue);
get.setHeader(headerName, headerValue);
}
}
// connect
//need try catch
response = httpClient.execute(get);
3、Post请求:
HttpPost post = new HttpPost(KeySource.HOST_URL_STR);
// set HTTP head parameters
Map<String, String> headers = heads;
Set<String> setHead = headers.keySet();
Iterator<String> iteratorHead = setHead.iterator();
while (iteratorHead.hasNext())
{
String headName = iteratorHead.next();
String headValue = (String) headers.get(headName);
post.setHeader(headName, headValue);
}
/**
* 通常的HTTP实体需要在执行上下文的时候动态生成的。
* HttpClient的提供使用EntityTemplate实体类和ContentProducer接口支持动态实体。
* 内容制作是通过写需求的内容到一个输出流,每次请求的时候都会产生。
* 因此,通过EntityTemplate创建实体通常是独立的,重复性好。
*/
ContentProducer cp = new ContentProducer()
{
public void writeTo(OutputStream outstream)
throws IOException
{
Writer writer = new OutputStreamWriter(outstream,
"UTF-8");
writer.write(requestBody);
writer.flush();
writer.close();
}
};
HttpEntity entity = new EntityTemplate(cp);
post.setEntity(entity);
}
//connect ,need try catch
response = httpClient.execute(post);
4、请求Response响应处理:
if (response.getStatusLine().getStatusCode() == 200)
{
// get response xml.
/**
* 因为直接调用toString可能会导致某些中文字符出现乱码的情况。所以此处使用toByteArray
* 如果需要转成String对象,可以先调用EntityUtils.toByteArray()方法将消息实体转成byte数组,
* 在由new String(byte[] bArray)转换成字符串。
*/
byte[] bResultXml = EntityUtils.toByteArray(response
.getEntity());
if (bResultXml != null)
{
String strXml = new String(bResultXml, "utf-8");
}
}
//Todo xmlAnalysis..
3.java.net 联网详解
本篇幅我们漫游java.net包,按照网络方面的知识来逐步学习java网络编程,并给大家介绍一些小例子,边学习边写代码。
首先,IP地址
IP地址估计大家都明白,我们就直接来看java.net中的类吧。
详细介绍就不多说了,看2个简单的小例子如下:
String GetHostAddress (String strHostName) { InetAddress address = null; try { address = InetAddress.getByName (strHostName); } catch(UnknownHostException e) { System.out.println(e.getMessage()); } return InetAddress.getHostAddress () ; } void GetAllIP (String strHostName) { InetAddress[] add = null; try { add = InetAddress.getAllByName (strHostName); for(int i=0;i<addr.lenth;i++) System.out.println(addr[i]); } catch(UnknownHostException e) { System.out.println(e.getMessage()); } }
上面2个小例子很简单,但是有一点必须说明的,在写网络编程方面的,必须注意异常的捕获,网络异常是比较正常的现象,比如说当前网络繁忙,网络连接 超时,更是“家常便饭”。因此在写网络编程的时候,必须养成捕获异常的好习惯,查看完函数说明后,必须要注意网络异常的说明。例如下图中的说明:
public static InetAddress getByAddress (byte[] ipAddress)
Since: API Level 1
Returns the InetAddress corresponding to the array of bytes. In the case of an IPv4 address there must be exactly 4 bytes and for IPv6 exactly 16 bytes. If not, an UnknownHostException is thrown.
The IP address is not validated by a name service.
The high order byte is ipAddress[0].
Parameters
ipAddress is either a 4 (IPv4) or 16 (IPv6) byte long array.
Returns
* an InetAddress instance representing the given IP address ipAddress.
Throws
UnknownHostException if the given byte array has no valid length.
在使用getByAddress ()函数的时候就必须捕获UnknownHostException这个异常。
然后,URL地址
看到这个类,不仅让我想起来MFC在网络编程方面的复杂,一个
BOOL AFXAPI AfxParseURL(LPCTSTR pstrURL, DWORD& dwServiceType,CString& strServer, CString& strObject, INTERNET_PORT& nPort);
函数,让人看起来就感觉不知道在说明,在编写MFC网络编程方面的时候一般都会自己写个URL类,而在JAVA中的直接提供了这个类,让初学者看起 来明白多了。一个简单的例子如下:
Void EasyURL (String strURL) { URL url = new URL(strURL); try { InputStream html = url.openStream (); int c; do{ c= html.read(); cf(c!=-1) System.out.println((char)c); }while(c!=-1) } catch(IOException e) { System.out.println(e.getMessage()); } }
其次,套接字socket类
套接字通信的基本思想比较简单,客户端建立一个到服务器的链接,一旦连接建立了,客户端就可以往套接字里写入数据,并向服务器发送数据;反过来,服 务器读取客户端写入套接字里的数据。几乎就那样简单,也许细节会复杂些,但是基本思想就这么简单。举个简单的例子如下:
void WebPing (String strURL) { try { InetAddress addr; Socket sock = new Socket(strURL,80); Addr = sock.getInetAddress (); System.out.println(“Connceted to”+addr); Sock.close(); } catch(IOException e) { System.out.println(e.getMessage()); } }
如果使用本地主机(localhost)来测试这个程序,输出结果如下:
Connceted to localhost/127.0.0.1
InetAddress.toString()的隐含调用(println调用)自动输出主机名和IP地址。
至于其他套接字:DatagramSocket (通过UDP通信的套接字),MulticastSocket (一 种用于多点传送的套接字)以及ServerSocket (一种用于监听来自客户端的连接的套接字),在这里就不一一说 明。
最后,URLConncetion类
在一般情况下,URL这个类就可以满足我们的需求,但是在一些特殊情况下,比如HTTP数据头的传递,这个时候我们就得使用 URLConncetion,如下图所示:
使用URLConncetion,我们对网络的控制就增加了很多,举个例子如下:
void SendRequest (String strURL) { URL url = URL(strURL); HttpURLConnection conn = (HttpURLConnection)url.openConnection (); conn.setDoInput (true); conn.setDoOutput (true); conn.setRequestProperty (“Content-type”,”application/xxx”); conn.connect (); System.out.println(Conn.getResponseMessage ()); InputMessage is = Conn.getIputStream(); int c; do{ c = is.read(); if(c!=-1) System.out.println((char)c); }while(c!=-1) }
关于HTTP数据头方面的知识,前段时间在编写流媒体下载的时候学习了下HTTP数据头的结构,下面列举一个HTTP request/response的一个完整流程如下,有兴趣的可以看下:
Android 实现联网(三)——在线程中联网
http://tonyyu.iteye.com/blog/679674
发表评论
-
Android ADT20 下运行第三方包出错
2012-10-18 18:07 3453今天在使用android viewpager时 编译ok 运行 ... -
android Ant混淆打包遇到的几个问题 SDK 升级到4.0后
2012-03-08 11:47 5866第一, BUILD FAILED F:\explor ... -
转:Android推送通知指南
2012-02-20 16:24 1781Android推送通知指 ... -
android 数据传递详解(Serialization、Parcelable、Parcel、Intent、Bundle)
2012-02-10 13:38 37442第一、四大组件间数据传递方式: 启动四大组件通过Int ... -
关于android的输入法弹出来 覆盖输入框的问题
2011-12-08 17:51 18896关于android的输入法弹出来 覆盖输入框的问题 ... -
Android4.0源码在Galaxy Nexus上市后开放
2011-11-02 18:06 1506Android4.0源码在Galaxy Nexus上市后开放 ... -
Adnroid4.0 签名混淆打包(conversion to dalvik format failed with error 1)
2011-10-28 11:26 7918最新Eclipse3.7+android sdk4.0+adt ... -
原:Android 获取屏幕高度、标题高度、状态栏高度详解
2010-11-30 08:29 15105A ndroid 获取屏幕高度、标题高度、状态栏高度详解 ... -
Android编译,打包、签名详细教程
2010-08-04 22:19 22116Android编译,打包、签名 ... -
原:Android 命令行手动编译打包详解
2010-08-04 21:55 38982Android 命令行手动编译打包过程图 【详细步骤】 ... -
android aapt (android asset packaging tool)使用详解
2010-07-29 17:56 11666最近在研究android自带的编译 打包工具,关于aapt 这 ... -
eclipse+ADT 进行android应用签名详解
2010-07-23 09:44 245341.Eclipse工程中右键工程,弹出选项中选择 androi ... -
在android market上发布个人应用的步骤
2010-07-22 18:00 2663发布android应用需要在market上注册market d ... -
Android LogCat使用详解
2010-06-22 16:39 40182Android的Logcat用于显示系统的调试信息,可在分别以 ... -
Android 调试之 Log和LogCat的详解
2010-06-22 15:55 34950Android 的调试信息分为 ... -
android 命令大全
2010-06-10 22:18 3067android命令大全 百度文库很全面的文档:http:// ...
相关推荐
Android 连网下载APK文件并自动安装的例子,这个例子在智能手机上已经不是个新鲜功能了,那么具体是如何实现的呢?本源码会告诉你答案,而且代码中的注释也是非常多的,对于学会此技巧很有帮助。下面是代码片段: ...
在Word 2010办公应用案例视频教程的第16章中,主要探讨了"Office跨平台应用——使用手机移动办公"这一主题。随着技术的发展,Microsoft Office不再局限于桌面环境,而是逐步拓展到了移动设备,如智能手机和平板电脑...
VB.net通过HTTP连接SQLserver数据库的连接模块,需要在服务器上设置好连接,然后在程序中调用此模块连接数据库,实现对数据的操作
本文将通过一个具体的网络请求代码实例来分析Android应用程序如何实现联网功能,并在此基础上介绍Android中的几个关键组件:Activity、Intent、Service以及Content Provider。 #### 二、网络请求代码实例分析 首先...
本篇将详细介绍如何在Android环境下实现这一功能,并提供一个简单的示例——"WIFIAutoConnectionDemo"。 首先,我们要了解Android中的`WifiManager`类。`WifiManager`是Android提供的用于管理WiFi连接的核心类,它...
本文将探讨标题"虚拟机的设计与实现——C_C++.zip"所涵盖的关键知识点,特别是内存管理、TCP/IP连网以及虚拟机与宿主机的接口技术,并结合C/C++编程语言的应用。 首先,虚拟机是一种模拟计算机硬件的软件系统,它...
在Android应用开发中,工具类(Utils类)是开发者经常使用的辅助组件,它们提供了一些便捷的方法,用于处理常见的任务,从而提高开发效率。这个"android开发常用工具类集锦.zip"压缩包包含了多个这样的工具类,下面...
3.连网后点高级功能里的全视界会自动申请出域名如: 8888.jdvr.net 4.按全视界上的提示进路由器里启动UPNP功能(或启用DMZ功能)即可远程 网络端 1.IE打开域名后在设置里修改服务器域名或IP为正确的全视界域名保存为...
车联网技术是指利用各种信息通信技术实现汽车与外界的网络连接,包括车辆与车辆(V2V)、车辆与基础设施(V2I)、车辆与行人(V2P)以及车辆与网络(V2N)等的通信。随着互联网技术的发展,车联网不再是遥不可及的...
这个“vb.net电脑连网判断电脑是否连网”的主题就是关注如何利用VB.NET来实现这一功能。下面我们将深入探讨如何在VB.NET中进行网络连通性的检查。 首先,VB.NET提供了System.Net.NetworkInformation命名空间,其中...
在压缩包中的"58检测是否连网及连网方式"源代码,很可能是提供了VB6或VB .NET的具体实现,涵盖了这两种方法中的一种或两种。通过查看和学习这段代码,开发者可以了解到如何在实际项目中应用这些技术,以便在需要检测...
现在用有线连网看视频速度要比经过路由器快,用无线做热点,但无线设置热点后,关机或重启又要再重新开启热点,这样比较麻烦,增加上开机自启热点,这样比较方便了,连网速度快看视频不卡其它设备也可以通过盒子上网...
"58检测是否连网及连网方式"是一个典型的示例,它可能提供了如何在VB(Visual Basic)环境下实现这一功能的源代码。VB是一种流行的编程语言,尤其在开发Windows应用时被广泛使用。 首先,我们来了解一下如何检测...
### 知识点一:保证连网计算机时间同步的重要性 在多台计算机组成的网络环境中,确保所有设备的时间保持一致对于很多应用来说至关重要。比如,在分布式系统中,时间同步可以保证日志记录、事务处理和定时任务等操作...
WIFI 是一种无线联网的技术,以前通过网线连接电脑,而现在则是通过无线电波来连网。常见的就是一个无线路由器,那么在这个无线路由器的电波覆盖的有效范围都可以采用 WIFI 连接方式进行联网。如果无线路由器连接了...
本文提出的解决方案推荐采用三级联网方案,减少了矩阵设备的成本,同时通过DVR实现画面切换、组合、报警输出/输入、云台镜头控制和网络传输等多功能,提升了系统的性价比。 在方案特点上,DVR产品不仅作为录像设备...
VB.NET是一种基于.NET Framework的编程语言,由微软公司开发,它是Visual Basic的现代版本,集成了许多高级特性和技术。VB.NET的全称是Visual Basic .NET,它在2002年随着.NET Framework的发布一同推出,标志着VB...
5. 通信连网:通过网络与其他PLC、SCADA系统或上位机进行信息交换。 PLC主要由硬件组件构成,包括: 1. CPU模块:作为运算和控制中心,执行用户程序,协调系统工作。 2. 存储器:系统存储器存储监控程序,用户...
支持系统:Android 2.2+及更高版本 测试机型:夏新 A900W 新华字典 Android 本版特点: 1、去除umeng、google广告、删除广告代码 2、去除升级检查 3、去除读取系统底层日志权限 4、去除“更多应用” 5、去除名前...
在本项目中,"Android应用源码之Android应用源码安卓与PC的Socket通信项目java版.zip",我们探讨的是如何实现Android设备与个人计算机(PC)之间的通信,利用Java编程语言,通过Socket进行数据传输。Socket通信是...