网络编程
网络编程入门
网络编程概述
**计算机网络:**是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统
**网络编程:**在网络通信协议下,实现网络互连的不同计算机上运行的程序间可以进行数据交换
网络编程三要素
- IP地址
标识号,通过标识号来指定要接收数据的计算机和识别发送的计算机
IPv4 32bit 4个字节
IPv6 128bit 16个字节一组,分为8组
ipconfig:查看本机地址
ping IP:检查网络是否连通
127.0.0.1:是回送地址,可以代表本机,一般用来测试
InetAddress:java提供的类,方便获取对IP地址的获取和操作
-
端口
端口号是唯一标识设备中的应用程序,用两个字节表示的整数,它的取值范围是065535,其中,01023之间的端口号用于一些知名的网络服务和应用。
-
协议
多台计算机之间实现连接和通信需要遵守一定的规则,即网络通信协议,常见的协议有UDP协议和TCP协议
**UDP协议:**用户数据包协议(User Datagram Protocol),是无连接同行协议通信协议,发送端不会确认接收端是否存在,不保证能够抵达 UDP协议消耗资源小,通信效率高
**TCP协议:**传输控制协议(Transmission Control Protocol),是面向连接的通信协议,提供两台计算机之间可靠无差错的数据传输,传输时必须明确客户端和服务端。
UDP通信程序
UDP通信原理
UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两Socket只是发送,接收数据的对象
Java提供了DatagramSocket类作为基于UDP协议的Socket
UDP发送数据
步骤:
- 创建发送端的Socket对象(DatagramSocket)
- 创建数据,并把数据打包
- 调用DatagramSocket对象的方法发送数据
- 关闭发送端
UDP接收数据
步骤:
- 创建接收端的Socket对象(DatagramSocket)
- 创建一个数据包,用于接收数据
- 调用DatagramSocket对象的方法接收数据
- 解析数据包,并把数据在控制台显示
- 关闭接收端
TCP通信程序
TCP通信原理
TCP通信协议是一种可靠的网络协议,它在网络的两端各建立一个Socket对象,从而在通信的两端形成网络虚拟链路(建立之后,便可进行通信)
Java通过Socket产生IO流来进行网络通信,Java提供了Socket类,为服务端提供了ServerSocket类
TCP发送数据
步骤:
- 创建客户端的Socket对象(Socket)
- 获取输出流(getOutputStream()),写数据
- 释放资源
TCP接收数据
步骤:
- 创建服务器端的Socket对象(ServerSocket)
- 获取输入流,读数据,并把数据显示在控制台
- 释放资源