Java网络编程基础

来源:互联网 发布:mac卸载flashplayer 编辑:程序博客网 时间:2024/04/29 13:30

Java语言使用了基于套接字(Socket)的通信方式,通过系统包java.net实现三种网络通信模式:URLSocketDatagram(数据报)。

一、网络编程的基础知识:

Internet上的计算机之间采用TCP/IP协议进行通信,其体系结构分为四层,其结构及各层主要协议如下图所示:


1、网络编程的基本理论:

(1)TCP/IP模型提供了两种传输协议,即传输控制协议TCP和用户数据报协议UDP

TCP协议面向连接的协议,而UDP协议是一种无连接协议。采用哪一种传输层协议由应用程序来决定,若希望更加稳定可靠的话,用面向连接的方式更合适;若希望尽可能提高系统资源的利用率,可以考虑采用面向非连接的方式,即UDP方式。

(2)应用层包含所有的高层协议,应用最广泛的是超文本传输协议HTTP,用于从Web服务器读取网页信息

(3)IP地址端口(port)为网络通信的应用程序提供了一种确定的地址标识

2、网络编程的基本概念:

(1)IP地址:用于标识网络上的计算机或者其他网络设备,由4字节(byte)(32位(bit))组成,为了方便,通常用十进制表示,各个字节之间用.分隔。如192.168.10.88,每个字节的取值范围是0~255.

(2)TCP与UDP

TCP提供两台计算机之间无差错的可靠数据传输,是面向连接的通信协议。

UDP是无连接通信协议,不保证可靠的数据传输,但若向若干个目标同时发送数据,也可以接收若干源的数据,收到数据方也无需确认。

(3)Socket套接字

Socket套接字网络驱动层提供给应用程序编程接口和管理方法,处理数据接收输出。Socket在应用程序创建,通过一种绑定机制与应用程序建立关联,告诉对方自己的IP和端口号,然后应用程序送给Socket数据,由Socket交给驱动程序向网络发布。接收方可以从Socket提取相应的数据。

(4)数据报datagram

数据报是一种面向非连接的、以数据报方式工作的通信,适用于网络层不可靠的数据传输与访问。

(5)URL

URL是网络统一资源定位器,确定数据在网络上的位置。如一个网址、一个网络路径、磁盘上文件的路径都是有效的URL地址。

3、网络编程的基本方法

Java语言专门为网络通信提供了系统软件包java.net,利用它提供的有关类及方法以快速开发基于网络的应用程序。

系统软件包java.net对HTTP协议提供了特别的支持,只要通过URL类对象指明图像、声音资源的位置,即可轻松的从Web服务器上下载图像和声音资源;或者通过数据流操作,获得HTML文档和文本资源,并对这些资源进行处理,简单而快捷。

java.net包还提供了对TCP、UDP协议套接字(Socket)编程的支持,可以建立自己的服务器,实现特定的应用。