网络基础
TCP/IP协议
TCP/IP是目前世界上应用最为广泛的协议
以TCP和IP为基础的不同层次上多个协议的集合,也称为TCP/IP协议族或TCP/IP协议栈
TCP传输控制协议
IP互联网协议
TCP/IP模型
应用层:
- HTTP超文本传输协议
- FTP文件传输协议
- SMTP简单文件传输协议
- Telnet远程登录服务
传输层:TCP/IP位于此层
网络层
数据链路层
物理层:网线、双绞线、网卡的等等
IP地址
为实现网络中不同计算机之间的通信,每台计算机都必须有一个唯一的标识端口
用于区分不同应用程序
端口号范围0-65535,其中0-1023为系统保留
IP地址和端口组成了所谓的socket,socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础
默认端口号:http:80,ftp:21,telnet:23
java中网络支持
InetAddress:用于标识网络上的硬件资源
URL:统一资源定位符,通过URL可以直接读取或写入网络上的数据
sockets:使用TCP协议实现网络通信的socket相关类
DataGram:使用UDP协议,将数据保存在数据报中通过网络进行通信
Java中网络相关的API应用
InetAddress类:用于标识网络上的硬件资源,表示互联网协议(ip)地址
URL:
- 统一资源定位符,表示Internet上某一资源的地址
- URL由两部分组成:协议名称和资源名称,中间用冒号隔开
Socket实现TCP编程
TCP协议是面向连接、可靠的、有序的,以字节流的方式发送数据
基于TCP协议实现网络通信的类:客户端的Socket类、服务器端的Server Socket类
Socket通信的实现步骤:
- 创建Server Socket和Socket
- 打开连接到Socket的输入/输出流
- 按照协议对Socket进行读写操作
TCP的socket通信服务器端:
- 创建server socket对象,绑定监听接口
- 通过accept()方法监听客户端请求
- 连接建立后,通过输入流读取客户端发送的请求信息
- 通过输出流向客户端发送响应信息
- 关闭相关资源
TCP的socket通信客户端:
- 创建socket对象,指明需要连接的服务器端地址和端口号
- 连接建立后,通过输出流向服务器端发送请求信息
- 通过输入流获取服务器响应的信息
- 关闭相关资源