Android网络编程核心技术(二)Java接口和Android接口
来源:互联网 发布:unity3d在线编辑器 编辑:程序博客网 时间:2024/05/18 03:51
Android网络通信的大部分情况使用Apache接口都能解决,但有些情况,使用java接口似乎更简单点,这篇文章简单介绍一下java网络编程在Android中的应用。
1.URL地址
在java中直接提供了类URL来处理和URl相关的知识。下面是一段简单代码:
URL URL= new URL(StringUrl);
try{
InputStream inStream = url.openStream();
int c = 0;
do{
c = inStream.read();
if(c!=-1)
System.out.print((char)c);
}while(c!=-1)
}catch...
2.套接字Socket类
要想理解socket首先得熟悉一下TCP/IP协议族, TCP/IP(Transmission Control Protocol/Internet Protocol)定义了主机如何连入因特网及数据如何 在它们之间传输。不同于ISO模型的七个分层,TCP/IP协议参考模型把所有的TCP/IP系列协议归类到四个抽象层中
应用层:TFTP,HTTP,SNMP,FTP,SMTP,DNS,Telnet 等等
传输层:TCP,UDP
网络层:IP,ICMP,OSPF,EIGRP,IGMP
数据链路层:SLIP,CSLIP,PPP,MTU
每一抽象层建立在低一层提供的服务上,并且为高一层提供服务,看起来大概是这样子的
还不明白的可以参考百度百科http://baike.baidu.com/item/TCP%2FIP%E5%8D%8F%E8%AE%AE?fromId=7729,篇幅所限,不在赘述。
我们知道两个进程如果需要进行通讯最基本的一个前提能能够唯一的标示一个进程,在本地进程通讯中我们可以使用PID来唯一标示一个进程,但PID只在一台主机唯一,这时候我们需要另辟它径了。我们知道IP层的ip地址可以唯一标示主机,而TCP层协议和端口号(port)可以唯一标示主机的一个进程,这样我们可以利用ip地址+协议+端口号唯一标示网络中的一个进程。
能够唯一标示网络中的进程后,它们就可以利用socket进行通信了,我们经常把socket翻译为套接字。
try{
Socket socket = new Socket(ip,port);
InputStream inStream = socket.getInputStream();//读取服务器返回数据
OutPutStream outStream= socket.getOutputStream();//向服务器传递数据
PrintStream printstream = new PrintStream(outStream);
printStream.println("hello world");
DataInputStream dataInput = newDataInputStream(inStream);
String requese = dataInput.readUTF();
socket.close();
}catch...
3.URLConnection类
下面的范例使用java的URLConnection类查看网页:
URL url = new URL(...);
URLConnection conn = url.openConnection();
下例为最简单的Socket连接
try{
InetAddress ia = InetAddress.getByName("192.168.1.110");//IP地址
Socket sk = new Socket(ia,61203,true);//端口
InputStream is =sk.getInputStream();//得到数据
OutputStream os = sk.getOutputStream();
.....//数据处理
os.close();
is.close();
sk.close();
}catch(UnknownHostException e){
}catch(IOException e){
}
- Android网络编程核心技术(二)Java接口和Android接口
- Android网络编程核心技术(一)Apache接口
- Android通过HttpURLConnection和HttpClient接口实现网络编程
- android中的接口和java中的接口
- Android 的网络编程(3)-HttpURLConnection接口
- Android 的网络编程(4)-HttpClient接口
- Android网络编程之Apache接口
- java核心技术-接口和内部类(1)
- Java核心技术之抽象类和接口
- java核心技术----接口
- Android 网络接口
- Android网络接口
- android-afinal网络接口
- Android学习笔记之网络接口(Http接口,Apache接口,Android接口)
- Android学习笔记之网络接口(Http接口,Apache接口,Android接口)
- Android学习笔记之网络接口(Http接口,Apache接口,Android接口)
- Android学习笔记之网络接口(Http接口,Apache接口,Android接口)
- Android学习笔记之网络接口(Http接口,Apache接口,Android接口)
- java
- 文本逻辑表达式代码化
- 五种单例模式的安全性问题
- 数组类——类的设计和实现
- 第一次leetcode题目
- Android网络编程核心技术(二)Java接口和Android接口
- Sigmoid函数
- C#进制转换操作(三)之16进制操作
- <9>python学习笔记——文件操作
- Maven是什么,以及为什么要使用Maven
- 「Android设计模式之旅」——设计模式的6大原则
- The first C++ program
- C#检索输出全部结果
- springboot集成shiro 实现权限控制