java的网络编程

来源:互联网 发布:动漫设计与制作软件 编辑:程序博客网 时间:2024/06/01 09:01

重点内容

java的网络编程

了解InetAddress 类的使用掌握Socket 通信编程原理与方法,了解网络多用户通信的编程特点了解数据报编程的基本方法了解java对URL资源的访问编程方法

java的诞生和发展与网络是紧密关联的,java也提供了丰富的 类库实现网络应用编程

  1. 网络编程基础

    网络协议

网络上的计算机要互相通信,必须遵循一定的协议。目前使用的最广泛的网络协议是应用于Internet的TCP/IP协议。TCP/IP协议在设计上分为了五层:物理层,数据链路层,网路层,传输层,应用层。不同层有各自的职责,下层为上层提供服务。其中网络层也称为IP层,主要负责网络主机的定位,实现数据传输的路由选择。IP地址可以唯一确定Internet上的一台主机。为了方便记忆,实际应用中常用域名地址,域名与IP地址的转换通过域名解析完成(DNS)。传输层负责保证端到端的数据传输正确性,在传输层包含两类典型通信协议:TCP和UDP,TCP是传输控制协议的简称,是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差别的数据流。使用TCP通信,发送方和接收方首先要建立Socket连接,在客户与服务器通信中,服务方在某个端口提供服务等待客户方的访问连接,建立连接后,双方就可以发送或接收数据。UDP是一种用户数据报协议的简称,UDP无需建立连接,传输效率高,但不能保证传输可靠性。InetAddress类提供IP地址,用URL类封装对网络资源的标识访问,用ServerSocket和Socket类实现面向连接的网络通信,用DatagramPacket和DatagramSocket实现数据包的收发。
InetAddress类
  1. Socket通信
    Java的Socket编程原理java提供了Socket类和ServerSocket类分别用于Client端和Server端的Socket通信编程,可将联网的任何两台计算机进行Socket通信,一台作为服务端,一台作为客户端。也可以一台上运行两个进程分别运行服务端和客户端程序。Socket用在客户端,通过构造一个Socket类来建立与服务器的连接。Socket的连接可以是流连接,也可以是数据包连接,这取决于构造的Socket类使用的构造方法。一般使用流连接,ServerSocket类用在服务器端    简单的多用户聊天程序实现
  1. 无连接的数据报
数据包是一种无连接的通信方式,它的速度快,但是由于不建立连接,不能确保所有数据送到目的地,一般用于传输非关键性数据。发送和接收数据报需要使用Java类库中的DatagramPacket和DatagramSocket类。    DatagramPacket类是进行数据报通信的基本单位,它包含了需要传送的数据、数据报的长度、IP地址和端口等。    DatagramSocket类用来创建发送或接收数据报的DatagramSocket对象。    数据包多播就是发送数据报文,所有的组内成员均可以接受到。多播使用的是D类IP地址,地址范围为2240.0.1~239.255.255.255。发送广播的主机给定多播地址的特定端口发送消息。接受广播的主机必须加入到同一多播地址的多播组中,并从同样的端口接收数据报。多播通信是一种高效率的通信机制,多媒体会议系统是其典型应用,MulticastSocket类是DatagramSocket的子类。
  1. URL
在Internet上所有的网络资源都是用URL(统一 资源 定位符)来表示的,一个URL地址通常由四部分组成,包括协议名、主机名、路径文件、端口号。http://cai.ecjtu.jx.cn:80/java/index.htm。端口号为协议默认值时可省略。    URL类,进行网络通信,需要使用URL类建立对象,获取数据流    URL类双向通信,用到URLConnection类。
0 0
原创粉丝点击