UDP编程
1、UDP协议(用户数据协议)是无连接、不可靠的、无序的,速度比较快
2、UDP以数据报作为传输的载体:进行数据传输时,将数据封装成数据报(Datagram),在数据报 中标识数据所要到达的目的地Socket(主机地址和端口号),然后将数据报传输出去。
3、相关操作类:
DatagramPacket:表示数据报包,表述UDP通信的数据单元
DatagramSocket:进行端到端通信的类,实现基于UDP的Socket通信
4、服务端实现步骤:
(1) 在服务器端创建DatagramSockt,同时指定端口号
(2) 创建DatagramPackt
(3) 接受客户端发送的数据信息
(4) 读取数据
客户端实现步骤:
(1) 定义发送信息:发送的服务器地址、端口号、以及内容
(2) 创建DatagramPackt,包含将要发送的信息
(3) 创建DatagramSocket
(4) 发送数据
Socket总结:
1、多线程的优先级:未设置优先级可能会导致运行时速度慢,可降低优先级
thread.setPriority(4);//设置线程优先级,范围为[1,10],默认为5.
2、关闭输入流和输出流
对于同一个socket,如果关闭了输出流,则与该输出流关联的socket也会关闭,所以一般不用 关闭流,直接关闭socket即可
3、使用TCP通信传输对象----课后练习
4、socket编程传递文件----课后练习
综合练习:使用JDBC+IO+Socket编写一个文件上传器,实现文件上传功能
主要功能:用户注册、用户登陆、上传文件
项目分析:
1、业务分析:
(1) 用户注册:客户端选择用户注册,提示输入用户名、密码、确认密码、校验成功后将用户信 息保存到数据库中,并提示用户注册成功。
(2) 用户登录:客户端选择用户登录,提示输入用户名和密码,验证成功则提示上传文件,验证 失败则给出提示信息,并可以重新登陆
(3) 文件上传:客户端输入上传文件的路径,并读取文件数据,通过输出流发送到服务器端,服 务器接受后将上传文件保存到数据库中
java多线程
1、进程与线程:
进程:程序(任务)的执行过程,持有资源(共享内存,共享文件)和线程,是资源和线程的载体
线程:是系统中最小的执行单元,同一个进程中有多个线程,线程共享进程的资源
2、java语言对线程的支持
Thread类
Runnable接口
3、正确停止java线程
stop()是不正确的方法
用while循环停止线程
1、UDP协议(用户数据协议)是无连接、不可靠的、无序的,速度比较快
2、UDP以数据报作为传输的载体:进行数据传输时,将数据封装成数据报(Datagram),在数据报 中标识数据所要到达的目的地Socket(主机地址和端口号),然后将数据报传输出去。
3、相关操作类:
DatagramPacket:表示数据报包,表述UDP通信的数据单元
DatagramSocket:进行端到端通信的类,实现基于UDP的Socket通信
4、服务端实现步骤:
(1) 在服务器端创建DatagramSockt,同时指定端口号
(2) 创建DatagramPackt
(3) 接受客户端发送的数据信息
(4) 读取数据
客户端实现步骤:
(1) 定义发送信息:发送的服务器地址、端口号、以及内容
(2) 创建DatagramPackt,包含将要发送的信息
(3) 创建DatagramSocket
(4) 发送数据
Socket总结:
1、多线程的优先级:未设置优先级可能会导致运行时速度慢,可降低优先级
thread.setPriority(4);//设置线程优先级,范围为[1,10],默认为5.
2、关闭输入流和输出流
对于同一个socket,如果关闭了输出流,则与该输出流关联的socket也会关闭,所以一般不用 关闭流,直接关闭socket即可
3、使用TCP通信传输对象----课后练习
4、socket编程传递文件----课后练习
综合练习:使用JDBC+IO+Socket编写一个文件上传器,实现文件上传功能
主要功能:用户注册、用户登陆、上传文件
项目分析:
1、业务分析:
(1) 用户注册:客户端选择用户注册,提示输入用户名、密码、确认密码、校验成功后将用户信 息保存到数据库中,并提示用户注册成功。
(2) 用户登录:客户端选择用户登录,提示输入用户名和密码,验证成功则提示上传文件,验证 失败则给出提示信息,并可以重新登陆
(3) 文件上传:客户端输入上传文件的路径,并读取文件数据,通过输出流发送到服务器端,服 务器接受后将上传文件保存到数据库中
java多线程
1、进程与线程:
进程:程序(任务)的执行过程,持有资源(共享内存,共享文件)和线程,是资源和线程的载体
线程:是系统中最小的执行单元,同一个进程中有多个线程,线程共享进程的资源
2、java语言对线程的支持
Thread类
Runnable接口
3、正确停止java线程
stop()是不正确的方法
用while循环停止线程