java远程文件传输程序设计课程设计一上机.doc_第1页
java远程文件传输程序设计课程设计一上机.doc_第2页
java远程文件传输程序设计课程设计一上机.doc_第3页
java远程文件传输程序设计课程设计一上机.doc_第4页
java远程文件传输程序设计课程设计一上机.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程设计一:远程文件传输程序设计一、 课程设计目的1、 掌握基于TCP的网络程序设计;2、 掌握基于UDP的网络程序设计;3、 编写远程文件传输程序。二、 环境1、 系统环境:Windows XP,Windows 2003 Server2、 编程环境:JDK1.5,JCreator,NetBeans等三、 内容及步骤1、编写基于TCP协议的网络程序,实现二台主机之间相互发送和接收字符串。Socket通信的一般过程:典型的创建Server端ServerSocket的过程:ServerSocket server=null;try server=new ServerSocket(4700); catch(IOException e) Socket socket=null;try socket=server.accept(); catch(IOException e) 一个典型的创建客户端Socket的过程:Socket socket = null;try socket = new Socket(127.0.0.1, 4700); /127.0.0.1是TCP/IP协议中默认的本机地址catch(IOException e) System.out.println(Error:+e);打开Socket的输入/输出流并传输数据,例如:DataInputStream din = new DataInputStream(socket.getInputStream();DataOutputStream dout = new DataOutputStream(socket.getOutputStream();发送/接收字符串:dout.writeUTF(msg);String msg = din.readUTF();关闭资源。din.close();dout.close();socket.close();2、编写基于UDP协议的网络程序,实现二台主机之间相互发送和接收字符串。UDP发送和接收数据跟日常生活中通过邮局寄信是基本类似的,在实验过程中,同学应通过比较来理解。发送的过程如下:发送数据前,先生成一个DatagramPacket对象;该对象包括需要发送的数据和完整的目的地址。发送数据是通过DatagramSocket的方法send()实现的。例如:DatagramPacket pk = new DatagramPacket(buf, length, address, port);DatagramSocket dSocket = new DatagramSocket();dSocket.send(pkt);接收的过程如下:接收数据同样需要二步:接收数据前,生成一个DatagramPacket对象,给出接收数据的缓冲区及其长度;调用DatagramSocket 的方法receive()等待数据报的到来,receive()将一直等待,直到收到一个数据报为止。例如DatagramPacket packet = new DatagramPacket(buf, length);DatagramSocket dSocket = new DatagramSocket(port);dSocket.receive (packet);3、聊天程序设计模拟二个人聊天的程序,任何一端都能发送和接收字符信息;当任何一方输入 “Exit”时,聊天结束,退出应用程序(课外完成)。总体流程图如下:4、远程文件传输程序设计实现在任意二台主机之间传送文件。(1)界面设计 发送界面如下,当用户点击窗体中的“发送”按钮后,弹出文件选择对话框,用户可以选择要发送的文件。接收界面如下,当接收方收到发送方发送过来的消息后(文件名),点击“接收”按钮开始接收文件,或者点击“取消”表示不接收文件。(2)总体流程图(3)关键问题:主要包括二个,第一:如何发送和接收控制信息,如流程图中1、2所示;第二:在网络上,如何发送和接收文件。发送文件的过程如下:核心代码如下:BufferedInputStream fileIn = new BufferedInputStream(new FileInputStream(sendFile);byte buf = new byte2048;int num = fileIn.read(buf);while(num != -1)bout.write(buf,0,num);bout.flush();num = fileIn.read(buf);fileIn.close();接收文件的过程如下:核心代码如下:FileOutputStream fout = new FileOutputStream(receiveFile);BufferedOutputStream bout = new BufferedOutputStream(fout);BufferedInputStream bin = new BufferedInputStream(socket.getInputStream();byte buf = new byte2048;int num = bin.read(buf);while(num != -1) bout.write(buf,0,num); bout.flush(); num = bin.read(buf);bout.close();bin.close();(4)程序调试。(5)写课程设计文档。四、 课程设计总结通过这次课程设计,应使大部分同学掌握Java网络编程的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论