【JAVA SE基础篇】65.UDP TCP

1.UDP编程

  1.分析

使用基于UDP协议的Socket网络编程实现,不需要利用IO流实现数据的传输

每个数据发送单元被统一封装成数据包的方式,发送方将数据包发送到网络中

数据包在网络中去寻找他的目的地。

DatagramSocket:用于发送或接受数据包的套接字

DatagramPacket:数据包

  2.基本步骤

发送端

1.使用DatagramScoket,指定端口 创建发送端

2.准备数据,转成字节数组

3.封装成DatagramPacket包裹,需要指定目的地(ip+端口)

4.发送包裹,send(DatagramPacket p)

5.释放资源

【JAVA SE基础篇】65.UDP TCP_第1张图片

接受端

1.使用DatagramScoket,指定端口 创建接受端

2.准备容器,封装成DatagramPacket包裹

3.阻塞式接受包裹,receive(DatagramPacket p)

4.分析数据getData(),getLength()

5.释放资源

【JAVA SE基础篇】65.UDP TCP_第2张图片

2.TCP编程

  1.分许

使用基于TCP协议的Socket网络编程实现,TCP协议基于请求-响应模式

在网络通讯中,第一次主动发起的通讯的程序被称作客户端(client)程序

第一次通讯中等待连接的程序被称作服务器端(Server)程序

利用IO流实现数据的传输

  2.基本步骤

服务器创建ServerSocket,在指定端口监听并处理请求

客户端创建Socket,向服务器发送请求

1.服务器端:

创建ServerSocket(int port)对象

在Socket上监听客户端的连接请求

阻塞,等待连接的建立

接受并处理请求结果

将处理结果返回客户端

关闭流和Socket对象

【JAVA SE基础篇】65.UDP TCP_第3张图片

2.客户端

创建Socket(String host,int port)对象

向服务器发送连接请求

向服务器发送服务请求

接受服务结果

关闭流和Socket对象

【JAVA SE基础篇】65.UDP TCP_第4张图片

  3.模拟登录

1.功能分解

单向:客户端向服务器端发送字符串,服务器获取字符串并输出

【JAVA SE基础篇】65.UDP TCP_第5张图片

 【JAVA SE基础篇】65.UDP TCP_第6张图片

双向:服务器端给客户端反馈,客户端得到反馈并输出

【JAVA SE基础篇】65.UDP TCP_第7张图片

 【JAVA SE基础篇】65.UDP TCP_第8张图片

文件:客户端向服务器端上传文件,服务器端获取文件并反馈结果

【JAVA SE基础篇】65.UDP TCP_第9张图片

【JAVA SE基础篇】65.UDP TCP_第10张图片

多线程:服务器接受多个客户端的请求,并给出反馈,每个客户请求开启一个线程

【JAVA SE基础篇】65.UDP TCP_第11张图片

你可能感兴趣的:(【JAVA SE基础篇】65.UDP TCP)