Java网络编程 - Java网络通信的支持机制
作者:
wyude | 来源:发表于
2017-03-27 13:35 被阅读0次
-
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网络通信的支持机制
本文链接:https://www.haomeiwen.com/subject/vpnlottx.html
网友评论