Internet上计算机之间采用TCP/IP协议进行通信,其体系结构分为四层,结构及协议如下表:
应用层 | Telnet FTP SMTP HTTP |
传输层 | TPC UDP |
网际层 | IP |
网络接口层 | 以太网 FDDI X.25 ATM |
TCP/IP模型提供了两种传输协议,即传输控制协议TCP和用户数据包协议UDP。
TCP是面向连接的协议,在传递数据之前必须和目标节点建立连接,数据传输结束和关闭连接。相对安全可靠
UDP是一种无连接的协议,无需事先建立连接便可直接传输数据包,先对TCP不安全但是可以提高系统资源的利用率。
TCP和UDP数据报格式如下:
协议类型 | 源IP地址 | 目标IP地址 | 源端口号 | 目标端口号 | 帧序号 | 帧数据 |
我们知道java语言的一个重要特色就是与网络紧密结合,是一种优秀的网络编程语言。它能够很好的将applet嵌入网络的主页中,也可以实现客户端和服务器端的通信,而且可以是多客户端。java语言使用了基于套接字(socket)的通信方式,通过系统包java.net实现了三种网络通信模式:url、socket、datagram。
url是网络统一资源定位器,确定数据在网络中 的位置。如一个网址、一个网络路径、磁盘上文件的相对路径都是一个有效的url地址。
URL类的使用:java语言访问网络资源是通过URL类来实现的。URL定义了统一资源定位器来对网络资源进行定位。
我们可以这样创建和连接
socket套接字是网络驱动层提供给应用程序的接口和管理方式。处理数据接收与输出。socket在应用程序创建,通过一种绑定机制与应用程序建立关联。告诉对方自己的IP和端口号,然后应用程序给socket数据,由socket交给驱动程序想网络发布。接收方可以从socket提前相应的数据。
socket的使用:一般使用与TCP协议。通过面向连接的服务,实现客户机与服务器之间的双向且可靠通信,系统包java.net提供了Serversocket和socket分别用于服务器端和客户端。
datagram是一种面向非连接的一数据包方式工作的通信。实用与网络层不可靠的数据传输和访问。
Datagram的使用: java提供了DatagramSocket类用于UDP 的编程
经常动手敲代码,出错然后找出错误才能让编程能力提升的最快。这里罗列了知识一点点理论知识。