Java网络编程 - Java网络通信的支持机制

  • URL 层次 和 Socket层次
    • url 方式使得用户不需要考虑URL中的各种协议的处理过程,就可以直接获得URL资源信息。这种方式适用于访问Internet尤其是www上的资源,对ftp的支持也很好。
    • Socket表示应用程序与网络之间的接口,例如TCP Socket,UDP Socket。支持流和数据报两种通信过程。这种机制中,用户需要自己考虑通信双方约定的协议。
    • Java中支持url的类实际上也是依赖于下层Socket类实现的。
    • URL类,URLConnection类,Socket类和ServerSocket类都是用TCP实现网络通信;DatagramPacket类,DatagramSocket类,MulticastSocket类都支持UDP通信支持。
  • URL通信机制
  • Socket通信机制
    • Socket提供两种通信方式:有连接方式(TCP)和无连接方式(UDP数据报)。
    • 1.有连接通信方式
      • 有连接方式,通信双方在开始时必须进行一次连接过程,建立一条通信链路。通信链路提供了可靠的、全双工的字节流服务;
      • Socket有两个流:一个输出流,一个输入流;
      • 有链接通信一般经历下列四个基本步骤:
(1)创建Socket,建立连接;
(2)打开连接到Socket的输入/输出流;
(3)按照一定的协议对Socket进行读/写操作;
(4)关闭Socket。
  • 无连接通信协议
    • 用户数据报协议UDP是传输层的无连接通信协议;
    • 无连接方式中,通信双方不存在一个连接过程;
    • 数据报能否到达目的地,到达时间,以及到达时内容能否保持不变都是没有保证的;
    • 所以在不需要高质量通信时可以使用UDP;
    • 数据报方式的通信过程:
(1)创建数据报Socket;
(2)构造用于接收或者发送的数据报,并调用所创建的Socket的receive()方法进行数据报接收或调用send()发送数据报;
(3)通信结束,关闭Socket。
  • 基于数据报的多播通信

你可能感兴趣的:(Java网络编程 - Java网络通信的支持机制)