【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.释放资源
接受端
1.使用DatagramScoket,指定端口 创建接受端
2.准备容器,封装成DatagramPacket包裹
3.阻塞式接受包裹,receive(DatagramPacket p)
4.分析数据getData(),getLength()
5.释放资源
2.TCP编程
1.分许
使用基于TCP协议的Socket网络编程实现,TCP协议基于请求-响应模式
在网络通讯中,第一次主动发起的通讯的程序被称作客户端(client)程序
第一次通讯中等待连接的程序被称作服务器端(Server)程序
利用IO流实现数据的传输
2.基本步骤
服务器创建ServerSocket,在指定端口监听并处理请求
客户端创建Socket,向服务器发送请求
1.服务器端:
创建ServerSocket(int port)对象
在Socket上监听客户端的连接请求
阻塞,等待连接的建立
接受并处理请求结果
将处理结果返回客户端
关闭流和Socket对象
2.客户端
创建Socket(String host,int port)对象
向服务器发送连接请求
向服务器发送服务请求
接受服务结果
关闭流和Socket对象
3.模拟登录
1.功能分解
单向:客户端向服务器端发送字符串,服务器获取字符串并输出
双向:服务器端给客户端反馈,客户端得到反馈并输出
文件:客户端向服务器端上传文件,服务器端获取文件并反馈结果
多线程:服务器接受多个客户端的请求,并给出反馈,每个客户请求开启一个线程