第17章Java网络编程
通信协议
计算机网络中实现通信必须有一些约定,及通信协议。对速率、传输代码、代码结构、传输控制步骤、出错控制等制定标准。
UDP介绍
UDP 是User Datagram Protocol的简称, 中文名是用户数据包协议,是 OSI 参考模型中一种无连接的传输层协议,提供面向事务的简单不可靠信息传送服务。它是IETF RFC 768是UDP的正式规范。
UDP多用于不重要的数据传输上,因为在传输过程中有可能会丢失数据包。实例:QQ视频上就是UDP,即使丢失一个数据包,也不会对整天影响非常大
优点:速度比较快,占用资源比较小
缺点容易造成数据包的丢失
Java中相关的类
DatagramSocket DatagramPaket
客户端和服务端的socket都是一样的,但是服务器端的端口是已知的。
注:TCP和UDP是可以公用一个端口的。
TCP介绍
TCP是一种面向连接的保证可靠传输的协议。通过TCP协议传输,得到的是一个顺序的无差错的数据流。发送方和接收方的成对的两个socket之间必须建立连接,以便在TCP协议的基础上进行通信,当一个socket(通常都是server socket)等待建立连接时,另一个socket可以要求进行连接,一旦这两个socket连接起来,它们就可以进行双向数据传输,双方都可以进行发送 或接收操作。
优点:可靠的协议,不会丢失数据
缺点:为了一直维持协议,需要消耗一定的资源。
Java中相关的类
ServerSocket 通过他获得客户的连接请求
Socket 从中获得i/o流
注意:TCP中,必须先开启服务器端,才能再开启客户端。