欢迎来到天天文库
浏览记录
ID:50116181
大小:387.00 KB
页数:24页
时间:2020-03-04
《socket实现文件上传下载-嵌入式期末报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、.第一部分:移植类1一、实验目的;1二、实验内容1三、实验环境1四、实验步骤2五、实验结果与讨论3第二部分:代码类3一、实验目的3二、实验内容与要求4三、主要仪器设备4四、实验内容44.1、实验基本功能44.2主要代码编写:44.2.1、实现服务器功能的主要代码编写54.2.2、实现客户端功能的主要代码编写14五、实验内容运行结果:215.1客户端和服务端均在虚拟机linux下运行215.2虚拟机linux运行服务端,开发板运行客户端22六、实验结果与讨论24第一部分:移植类一、实验目的;利用虚拟机,在redhatlinux下编译一
2、个能在开发板上成功运行的应用软件二、实验内容在嵌入式Linux中移植一个能播放U盘上的mp3音频文件的应用程序MadPlay。三、实验环境Win7、虚拟机中的redhatlinux页脚.四、实验步骤首先通过ftp把四个所需安装包拷贝到虚拟机的linux中,然后依次进行如下操作:1、创建工作目录:2、创建如下子目录以存放不同的源文件目录说明:tarball目录用来存放所有的源代码包src-x86目录用来存放X86版本的所有源代码文件src-arm目录用来存放ARM版本的所有源代码文件target-x86目录是X86版本的安装目录tar
3、get-arm目录是ARM版本的安装目录设置环境变量:将相关安装包拷贝到工作目录中:3、编译安装zlib-1.2.3.tar.zip配置4、然后make-àmakeinstall即可5、编译安装libid3tag-0.15.1b页脚.(注:截图中的第一行代码后面部分为:-I$TARGET_DIR/include)6、然后make-àmakeinstall即可7、编译安装libmad-0.15.1b配置8、然后make-àmakeinstall即可9、编译安装madplay-0.15.2b配置10、然后make-àmakeinstal
4、l即可Makeinstall完成后,会在target-arm/bin目录生成在arm开发板上可以运行的二进制文件madplay,拷贝到user-ftp目录下;打开超级终端,连接到开发板上,在超级终端上通过ftp连接到虚拟机,然后使用get命令获取madplay和mp3文件,退出ftp,运行“./madplaymusic.mp3”即可播放视频。五、实验结果与讨论成功播发音频文件music.mp3,并演示给老师看,但在实验结束后忘记截取了相关图像,因此结果的图像未展现。第二部分:代码类一、实验目的按照教学计划,本课程要求初步掌握嵌入式基
5、本知识,懂得在开发板使用wince和linux基本操作,本实验是利用socket是的开发板与主机通信。二、实验内容与要求W页脚.ince/Linux平台与windows主机间使用以太网实现通信,要求在linux/wince/windows上编写一个TCPsocket数据包收发程序,实现数据的通信,如实现文件发送。(也可以是2个开发板间的网络通信)三、主要仪器设备1、已连接网络的计算机。2、安装redhat9的虚拟机。3、装有linux的开发板四、实验内容4.1、实验基本功能在linux下用C语言编写,实现如下功能:服务器端客户端数据
6、的上传、下载4.2主要代码编写:Linux系统下,用文本编辑器编写ftp客户端与服务器端的C语言代码,另外几个包含的头文件。下面是在ftp客户端和服务器功能实现中比较重要的代码。4.2.1、实现服务器功能的主要代码编写Main主函数定义一些相关的变量等代码:页脚.intmain(intargc,char**argv){intsockfd;intclientfd;uint16_tport;intret;pid_tpid;structsockaddr_inserver_addr;if(2!=argc){printf("usage:com
7、mandlisten_port");return-1;}port=atoi(argv[1]);server_addr.sin_family=AF_INET;server_addr.sin_addr.s_addr=INADDR_ANY;server_addr.sin_port=htons(port);sockfd=socket(PF_INET,SOCK_STREAM,0);if(sockfd<0){perror("opendatastreamsocketfailed!");return-1;}ret=bind(sockfd,(
8、structsockaddr*)&server_addr,sizeof(server_addr));if(ret<0)页脚.{perror("binddatasocketfailed!");return-1;}ret=listen
此文档下载收益归作者所有