网络编程入门

网络编程三要素

image.png

IP地址

image.png

InetAddress

此类表示Internet协议IP地址

public static InetAddress getByName(String host): 确定主机名称的IP地址。
public string getHostName(): 获取此IP地址的主机名。
public string getHostAddress(): 返回文本显示中的IP地址字符串。
image.png

端口

image.png

协议

image.png
image.png

UDP通信程序

UDP通信原理

UDP协议是一种不可靠的网络协议,它在通信的两端各建立一个Socket对象,但是这两个Socket只是发送,接受数据的对对象,因此对基于UDP协议的通信双方而言,没有所谓的客户端和服务器的概念
Java提供了DatagramSocket类作为基于UDP协议的Socket

UDP发送数据

发送数据的步骤
1.创建发送端的Socket对象(DatagramSocket)
DatagramSocket() 构造数据报套接字并将其绑定到本地主机上的任何可用端口。
2.创建数据,并把数据打包
DatagramPacket(byte[] buf, int length, InetAddress address, int port):构造用于发送长度的分组的数据报包 length指定主机上到指定的端口号。
3.调用DatagramSocket对象的方法发送数据
void send(DatagramPacket p) 从此套接字发送数据报包。
4.关闭发送端
image.png

UDP接受数据

接收数据的步骤

  • 创建接收端的Socket对象(DatagramSocket)

DatagramSocket(int port)

  • 创建一个数据包,用于接收数据

DatagramPacket(byte[] buf, int length)

  • 调用DatagramSocket对象的方法接收数据

void receive(DatagramPacketp)

  • 解析数据包,并把数据在控制台显示

byte[] getData()
int getLength()

  • 关闭接收端

void close()

TCP通信程序

TCP通信协议是一种可靠的网络协议,它在通信的两端各建立一个Socket对象,从而在通信的两端形成网络虚拟链路,一旦建立了虚拟的网络链路,两端的程序就可以通过虚拟链路进行通信
Java对基于TCP协议的网络提供了良好的封装,使用Socket对象来代表两端的通信端口,并通过Socket产生IO流来进行网络通信
Java为客户端提供了Socket类,为服务器端提供了ServerSocket类

TCP发送数据

TCP接受数据

接受数据的步骤
1.创建服务器端的Socket对象(ServerSocket)
ServerSocket(int port) 创建绑定到指定端口的服务器套接字
2.监听客户端连接,返回一个Socket对象
Socket accept() 侦听要连接到此套接字并接受它
3.获取输入流,读数据,并把数据显示在控制台

4.释放资源