《面向对象程序设计实践教程》
课题设计报告
课题名称:远程文件传输程序设计
专业:计算机科学与技术
班级:
姓名:
学号:
指导老师:
日期:
仰恩大学计算机系
一、 课程序设计目的
(1)掌握基于TCP 的网络程序设计; (2)掌握基于UDP 的网络程序设计;
(3)编写远程文件传输程序,实现在二台远程主机之间传输任意文件。
二、 开发环境
(1)系统环境:Windows XP ,Windows 2003 Server (2)编程环境:JDK1.5,JCreator ,NetBeans 等
三、 实现过程
(1)Java 网络编程基础知识介绍
1、编写基于TCP 协议的网络程序,Socket 通信的一般过程:
创建ServerSocket
等待客户端连接请求
否
创建输入/出流创建输入/出流成功
关闭Socket
关闭Socket
创建Socket 对象
连接请求
N
抛出异常
服务器端
客户端
创建Socket 对象是
2、编写基于UDP 协议的网络编程的实践过程: (a )发送过程
发送数据前,先生成一个DatagramPacket 对象;该对象包括需
要发送的数据和完整的目的地址。
发送数据是通过DatagramSocket 的方法send()实现的。
(b )接收过程
接收数据前,生成一个DatagramPacket 对象,给出接收数据
的缓冲区及其长度;
调用DatagramSocket 的方法receive()等待数据报的到来,receive()将一直等待,直到收到一个数据报为止。
(2)远程文件传输概要设计(基于socket 编程)
1、功能描述:编写一个基于socket 编程的远程文件传输程序,在服务
端开启时客户端可以发送文件,而服务端可以接收并保存到要保存的地方。
2、总体流程图
发送方是否接收接收方发送文件名
给接收方
接收文件名,并显示是否接收
发送“true ”接收信息
开始发送文件
开始接收文件
A.xls
B.xls
否
否
是是1
2
3、发送方流程图
是否到文件末
从文件读数据
开始
结束
是
否
关闭socket
发送数据
4、接收方流程图
是否到文件末
接收数据
开始
结束
是
否
关闭socket
向目标文件
写数据
(3)远程文件传输详细设计
总述:创建两个类,一个为Server,为服务端,接收文件的,一个为Client,为客户端,接收文件的,前提是在服务端开启的时候。
类名1:Server
类功能简介:
1.创建服务器端窗口
2.接收被传送的文件,并保存
方法1:构造方法
public Server();
功能:
1. 创建服务器窗口
2. 创建服务器端套接字
方法2:
public void actionPerformed(ActionEvent e);//e为事件功能:
1.响应在界面的动作
方法3:
public static void main(String[] args);
功能:
1.程序入口
类名2:Client
类功能简介:
3.创建客户端窗口
4.发送被传送的文件
方法1:构造方法
public Client();
功能:
1. 创建客户端窗口
2. 创建客户端套接字
方法2:
public void actionPerformed(ActionEvent e);//e为事件功能:
1. 响应在界面的动作
方法3:
public static void main(String[] args);
功能:
1. 程序入口
(4)界面介绍
1. 主界面
2.选择要传输文件
3.接收保存文件
4.接收和保存以后
四、课题总结
(1)主要问题
刚开始对于套接字的用法不是很娴熟,看了很久的API;
对于读取和写入的文件流比较陌生,花了比较多时间;
对于javax.swing.*保内工具不熟悉
(2)收获
加深了对于socket套接字的理解,能够熟练的运用;
对于IO流的运用更加娴熟
对于swing包的工具更熟悉
对于java编程更加懂得规范的重要
五、教师评阅
分数
评
语。