




免费预览已结束,剩余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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年8月批次浙江杭州市市级机关事业单位招聘编外人员10人考试备考题库及答案解析
- 2025华侨大学集美附属学校非在编顶岗教师招聘8人考试模拟试题及答案解析
- 2025年西安经发控股(集团)有限责任公司招聘(4人)考试模拟试题及答案解析
- 2025广东广州市黄埔区龙湖街道招聘党建专职组织员、政府聘员3人笔试备考试题及答案解析
- 2025云南昭通职业学院招聘城镇公益性岗位工作人员5人笔试参考题库附答案解析
- 2025云南昭通绥江县总工会招聘城镇公益性岗位1人笔试参考题库附答案解析
- 2025贵州六盘水市实验小学秋季学期临聘教师招聘笔试模拟试题及答案解析
- 2025云南昭通市住房公积金管理中心分中心招聘业务辅助人员1人笔试参考题库附答案解析
- 2025广东佛山市顺德养正学校诚聘后勤工作人员笔试参考题库附答案解析
- 2025宁波北仑区大碶街道公开招聘编外工作人员4人笔试模拟试题及答案解析
- 2026届高考山东省启思教育高三暑假线上第一次模拟考试数学试题
- 《俗世奇人》整本书导读课件
- 餐饮管理安全管理制度
- 传统白酒生产项目商业计划书
- 西柏坡景点讲解
- 2025年教师资格证考试综合素质(中学)试题及答案
- 江苏省淮安市2024-2025学年高一下学期期末考试物理试卷(解析版)
- 《基孔肯雅热防控技术指南(2025年版)》解读课件
- BMS基础知识培训课件
- 铁道概论(第八版)佟立本主编
- 施工现场签证单(模板)
评论
0/150
提交评论