欢迎来到天天文库
浏览记录
ID:14904705
大小:267.00 KB
页数:11页
时间:2018-07-30
《文件传输程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Internet网络程序设计实验报告基于Socket的文件传输程序设计姓名:李轩李红亮刘宇龙班级:软件1202学号:U2012174064044112.15.3.30目录1实验目的及要求21.1实验目的21.2实验要求22实验环境33实验程序设计33.1设计思想33.2程序设计流程框图43.3详细设计53.3.1界面设计53.3.2主要功能实现63.4运行结果94实验感想111实验目的及要求1.1实验目的熟悉Socket的通讯机制,了解网络程序的设计方法。1.2实验要求设计界面,在服务器端和客户端传输图片和文件。
2、并保存至指定的路径。2实验环境编译环境:客户端Windows7+flashDevelop使用actionscrip3.0编写。服务器端Windows7+myeclipse使用java编写。运行环境:Windows7操作系统。3实验程序设计3.1设计思想根据实验的要求:在服务器和客户端之间传输文件和图片,则需要程序提供一种可靠的网络传输服务来保证文件在传输过程中无丢失、损坏。在分析了传输层协议TCP协议和UDP协议后,了解到TCP协议提供的是一种面向连接的、可靠的字节流服务,而UDP协议提供的是一种无连接的、不可靠
3、的数据报服务。由于程序的需求,即必须保证文件传输的可靠性,于是,我采用基于TCP协议的sockets来设计实现本实验。1.1程序设计流程框图图1程序设计流程框图1.2详细设计基于TCP的socket编程流程:服务器端:创建套接字(socket)。将套接字绑定到一个本地地址和端口上(bind)。将套接字设为监听模式,准备接收客户端请求(listen)。等待客户端请求到来。当请求到来后,接收连接请求,返回一个新的对应于此次连接的套件字(accept)。用返回的套接字和客户端进行通信(send/recv)。返回,等待另
4、一客户端请求。关闭套接字。客户端:1.与Socket服务器建立连接.2.向Socket服务器发送数据.3.从Socket服务器读数据.4.同Socket服务器进行握手,并确定收到了什么样的数据和如何处理这些数据.5.与Socket服务器断开,或者当服务器想与你断开的时候发消息给你.6.处理使用Sockets时候引发的错误1.1.1界面设计图2程序界面由于程序实现的功能单一简单,所以我的程序界面设计如图2所示。程序由两个用户可操作的控件组成:IP地址控件,用户输入将要接收文件的接收方IP地址;“发送文件”按钮,单击
5、选择用户要发送的文件并发送所选文件数据。1.1.2主要功能实现套接字库加载:AfxSocketInit()服务器端:publicvoidrun(){PrintWriteros=null;try{ServerSocketss=newServerSocket(8001);System.out.println("等待连接....");Socketsk=ss.accept();System.out.println("连接成功....");//BufferedReaderbr=newBufferedReader(newIn
6、putStreamReader(sk.getInputStream(),"utf-8"));System.out.println("获取里面的内容......");//等待接受信息os=newPrintWriter(sk.getOutputStream());Stringword=null;//发送信息//while((word=br.readLine())!=null)//{////System.out.println("内容:"+word);//os.println("你好我是服务器");//os.flush
7、();//}//存储文件saveInputStream(sk.getInputStream());}catch(IOExceptionex){ex.printStackTrace();}}publicstaticvoidmain(String[]args){newThread(newServer()).start();}privatestaticvoidsaveInputStream(InputStreamin)throwsIOException{//StringfileName=newDate().toLoca
8、leString();Filefile=newFile("d","adobe.txt");if(!file.exists()){file.createNewFile();}FileOutputStreamout=newFileOutputStream("d://adobe.jpg");byte[]buffer=newbyte[1024];intlen=0;while((l
此文档下载收益归作者所有