网络编程基本概念


一、网络:将不同区域的计算机连接到一起,局域网,城域网,互联网等。
二、地址:IP地址,确定网络上一个绝对地址(位置)类似房子的地址。
三、端口号:用来区分计算机软件,类似房子的房门,2个字节,0-65535号,共65536个。
1、在同一个协议下端口号不能重复,不同协议下可以重复
2、1024以下的不要使用,例如80(http),21( ftp)。
四、资源定位: URL(统一资源定位符),URI (统一资源)。URI是以一种抽象的,高层次概念定义统一资源标识,而URL则是具体的资源标识的方式。URL是一种URI。
五、数据的传输
1、协议: TCP和UDP协议
TCP: 传输控制协议(Transmission Control Protocol)就像打电话,类似于三次握手,先连接再传输,面向连接,安全可靠效率低下。
UDP: 用户数据报协议(User Datagram Protocol)就像短信,非面向连接,效率高。


2、传输:先封装,再拆封

七层模型和四层模型:

 

开发网页-->四层模型中的应用层

网络编程-->四层模型中的传输层和网络层

Java中相关的类:

1.InetAddress:封装计算机的 IP 地址,不包含端口号

 InetSocketAddress:此类用于实现 IP 套接字地址 (IP 地址+端口号),用于socket 通信

2.URL

3.TCP: ServerSocket,接收客户连接请求,并生成与客户端连接的Socket

    Socket,使一个应用从网络中读取和写入数据

4.UDP: udp传输数据就好像在大海上运输货物,DatagramSocket就像的两个通信港口的码头,DatagramPacket就像在两端运输货物的轮船