计算机网络原理实验2_第1页
计算机网络原理实验2_第2页
计算机网络原理实验2_第3页
计算机网络原理实验2_第4页
计算机网络原理实验2_第5页
免费预览已结束,剩余2页可下载查看

付费下载

下载本文档

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

文档简介

第1页共2页实验报告学院(系)名称:计算机科学与工程学院姓名学号专业计算机科学与技术班级实验项目实验二:基于TCP/UDP的Socket编程课程名称计算机网络原理课程代码实验时间2022年3月29日、4月1日实验地点考核标准实验准备(实验目的/工具熟悉情况)10分实验过程(实验方案可行性及步骤完整性)40分实验报告(实验内容丰富度与格式清晰度)30分实验结果(结论正确性以及分析合理性)20分成绩教师签字:考核内容评价实验目的是否明确,实验工具是否清晰了解以及熟悉情况○可行,完整○可行,不完整○不可行,不完整○丰富,清晰○较丰富,较清晰○丰富,不清晰○不丰富,不清晰○结论正确,分析合理○结论正确,分析不充分○结论不正确,分析不合理实验目的熟悉和掌握socket编程的基本理论和方法。掌握基于TCP和UDP的工作原理以及Socket编程的一般方法,能够编写简单的网络应用程序实验工具Eclipse、Java语言、SocketTool调试工具3.实验方案请在以下题目中选择一个,按照要求完成实验,并完成实验报告。编程可以使用任何高级语言,建议使用Java、Python或C++。利用Java、Python或C++语言,基于TCP或UDP编写一个简单的Client/Server网络应用程序。要求实现客户向服务器传输一个文件,服务器将收到的文件进行保存。进一步改进a)的程序,使之更实用。比如传输文件夹等。(有难度,可以根据自身情况选做)4.实验步骤:1、编写TCPClient.java,用SocketTool创建sever端,调试客户端是否可以正常传递给服务端所读文件内容。2、编写TCPSever.java3、主要思想是客户端通过FileInputStream读取文件夹内容,通过DataOutputStream传递给服务端,服务端通过BufferedReader读取客户端传递过来的文件内容,通过PrintWriter写入指定的文件里面。5.实验结论与分析:(结合理论知识总结实验结果,并对其正确性、创新性进行分析以及本次实验心得体会)实验代码:TCPClient.javapackageputer;importjava.io.*;import.*;publicclassTCPClient{ publicstaticvoidmain(String[]args)throwsException{ FileInputStreamin=newFileInputStream("C:\\Users\\dell\\Desktop\\计算机网络实验\\client\\a.txt"); SocketclientSocket=newSocket("",6789); DataOutputStreamoutToServer=newDataOutputStream(clientSocket.getOutputStream()); byte[]buff=newbyte[1024]; intlen; while((len=in.read(buff))!=-1){ outToServer.write(buff,0,len); } System.out.println("文件传输完成"); in.close(); clientSocket.close(); }}TCPServer.javapackageputer;importjava.io.*;import.*;publicclassTCPServer{ publicstaticvoidmain(String[]args)throwsException{ Stringsentence; StringClientSentence; Stringfile="C:\\\\Users\\\\dell\\\\Desktop\\\\计算机网络实验\\\\server\\\\b.txt"; PrintWriterpw=newPrintWriter(file); ServerSocketwelcomeSocket=newServerSocket(6789); SocketconnectionSocket=welcomeSocket.accept(); BufferedReaderinfromClient=newBufferedReader(newInputStreamReader(connectionSocket.getInputStream())); Stringss; while((ss=infromClient.readLine())!=null){ pw.println(ss); } pw.close(); connectionSocket.close(); }}结果截图:实验心得体会:基本了解和掌握如何利用Java、Python或C++语言,基于TCP或UDP编写一个简单的Client/Server网络应用程序。要求实现客户向服务器传输一个文件,服务器将收到的文件进行保存。过程中遇到了两个问题,第一个问题:一开始传递中文出现乱码,英文和数字没有问题,用字节流传递可以避免这个问题,另外要保证Java项目和文件的encoding一致。第二个问题,服务端接收过来的文件内容无法换行保存在文件里。用PrintWriter代替FileOutputS

温馨提示

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

评论

0/150

提交评论