Java网络编程

Java网络编程

1 、计算机网络的概念
      计算机网络就是 通讯线路通讯设备将分布在 不一样地点的具备 独立功能的多个计算机系统互相链接起来,在 网络软件的支持下实现彼此之间的 数据通讯资源共享的系统。
 
二、计算机网络的划分
     (1)按地理位置划分:广域网、局域网、城域网
     (2)按拓扑结构划分:星形、总线形、环形
     (3)按传输介质划分:同轴电缆网、双绞线网、光纤网、卫星网、无线网
     (4)按通讯协议划分:以太网(CSMA/CD协议)、令牌环网(令牌环协议)、Internet网(TCP/IP协议)
     (5)按宽带速率划分:低速网、中速网、高速网
 
      
三、网络编程的架构
 
几种经常使用的Android网络框架:
    (1)android_async_http: HTTP请求发生在UI线程以外,自动智能请求重试,优化了质量不一的移动链接,自动解码支持gzip反应速度超快的请求,持久化cookie存储,保存cookie到你的应用程序的SharedPreferences。
    (2)http_request: 在小型的项目上性能表现最好,若是你的项目不是很大,这个框架是一个不错的选择。
    (3)okhttp: 使用 OkHttp 无需重写你程序中的网络代码。OkHttp实现了几乎和java.net.HttpURLConnection同样的API。若是你用了 Apache HttpClient,则OkHttp也提供了一个对应的okhttp-apache 模块
    (4) retrofit: 是一个类型安全的 REST 客户端。
    (5)Netroid: 一个基于 Volley 实现的Android Http库。提供执行网络请求、缓存返回结果、批量图片加载、大文件断点下载的常见Http交互功能。致力于避免每一个项目重复开发基础Http功能,实现显著地缩短开发周期的愿景。
 
四、网络的OSI分层思想【 国际标准化组织(ISO)
   
网络分层
 
      网络分层就是将网络节点所要完成的数据的发送或转发、打包或拆包、控制信息的加载或拆出等工做,分别由不一样的硬件和软件模块去完成.这样能够将往来通讯和网络互连这一复杂的问题变得较为简单. 
 
     OSI(Open System Interconnection),即开放式系统互联。
 
     ISO提出的OSI(Open System Interconnection)模型将网络分为七层,即物理层( Phisical )、数据链路层(Data Link)、网络层(Network)、传输层(Transport)、会话层(Session)、表示层(Presentation)和应用层(Application).
 
五、 什么是网络编程?

  网络编程:使用编程语言实现多台计算机的通讯。java

 
六、网络编程三要素
     

(1)IP地址:android

(3)协议:
用生活中的例子说明:假如我要和小明说话,首先我要到小明的住址找到小明(至关于经过IP找到指定计算机);以后我要和小明说话,小明用耳朵听我说(至关于用端口接收);而咱们对话不能使用鸟语,须要做出规定彼此都要使用都能听懂的普通话(这就是协议的做用了)。
 
 IP地址
由四个字节32位的数字组成(ps:192.168.1.1),在InetAddress获取ip地址和主机名,127.0.0.l 和localhost都表示本机地址。
 
端口
0~1024是系统程序的端口号(ps:80  网络端口)因此在写本身程序的时候使用端口号应该是:1024~65535
 
协议
TCP
面向链接,三次握手
安全性高,效率低
TCP协议发送数据是没有大小限制的
 
UDP
无链接协议
安全性低,效率高
UDP协议发送数据的时候,用的是数据报包的形式。大小是在64KB之内
 
Socket 套接字
网络上具备惟一标识的IP地址和端口组合在一块儿才能构成惟一能识别的标识符套接字。
 
Socket原理机制:
 
一、通讯的两端都有Socket
 
二、网络通讯其实就是Socket间的通讯
 
三、数据在两个Socket间经过IO传输
 

七、Java中的网络支持apache

针对网络通讯的不一样层次,Java提供了不一样的API,其提供的网络功能有四大类:编程

InetAddress:用于标识网络上的硬件资源,主要是IP地址缓存

URL:统一资源定位符,经过URL能够直接读取或写入网络上的数据安全

Sockets:使用TCP协议实现的网络通讯Socket相关的类服务器

 
Datagram:使用UDP协议,将数据保存在用户数据报中,经过网络进行通讯
 
 
UDP协议的通讯
发送端:
一、创建DatagramSocket对象
二、将数据封装到数据包中
三、发送数据包
四、关闭资源
 
接收端:
一、创建DatagramSocket对象
二、定义一个空的数据包
三、接受数据包
四、解析数据包
五、关闭资源
 
 
 
TCP协议的通讯 (C/S模式、Socket套接字)
服务端:
一、 建立ServerSocket对象,绑定监听端口
二、 经过accept()方法监听客户端请求,等待客户端的链接,返回一个Socket对象
三、 链接创建后,经过输入流向接收客服端端发送请求信息
四、 经过输入出流返回服务器响应的信息
五、关闭资源
 
客户端:
一、创建Socket对象, 指明须要链接的服务器的地址和端口号
二、 链接创建后,经过输出流向服务器端发送请求信息
三、 经过输入流获取服务器响应的信息
四、关闭资源
 
相关文章
相关标签/搜索