网络编程
网络编程基础
1、相关概念:
(1)计算机网络,指的是地理位置不同的具有独立功能的多台计算机及终端设备,通过通信线路连接起来。在网络管理软件和网络通信协议的管理下,实现资源共享和信息传递的计算机系统。
(2)网络编程:在网络通信协议下,实现网络互连互通,在不同的计算机上进行数据交换
2、网络编程三要素
(1)IP地址,IP地址是每台计算机的标识号,每台计算机有唯一的ip地址。
(2)端口,网络通信本质上是两个应用程序之间的通信,每台计算机有很多的程序,在进行网络通信的过程中,利用端口号来区分网络中的设备,相当于应用程序的标识号。
(3)协议,在计算机网络中,如果要进行网络间的交互,计算机之间要遵守一定的规则规范。
3、InetAddress
(1)对于ip地址的获取和操作,Java提供了一个InterAddress类,其常用方法如下:
方法名 | 说明 |
---|---|
static Inetraddress getByName(String host) | 确定主机名称的ip地址。主机名称可以是机器名称也可以是IP地址 |
String getHostName() | 获取此IP地址的主机名 |
String getHostAddress() | 返回文本显示中的IP地址字符串 |
UDP通信
1、UDP称为用户数据协议(User Datagram Protocol)UDP是无连接通信协议,在数据传输时,数据发送端和接收端不会建立逻辑连接。UDP协议消耗资源少,通信效率高,但是不能保障数据的完整性。
TCP通信
1、TCP协议称为传输控制协议(Transmission Control Protocol),TCP协议是面向连接的通信协议,在传输之前要建立逻辑连接,然后进行传输数据,它提供计算机之间可靠无差错的数据传输,每次连接都需要经过三次握手。
2、三次握手:第一次,客户端想服务端发出连接请求,等待服务端响应;第二次,服务端向客户端返回一个响应,告知客户端收到了连接请求;第三次,客户端再次向服务端发送确认信息,确认连接。示意图: