Linux网络文件传输系统实验报告_第1页
Linux网络文件传输系统实验报告_第2页
Linux网络文件传输系统实验报告_第3页
Linux网络文件传输系统实验报告_第4页
Linux网络文件传输系统实验报告_第5页
全文预览已结束

下载本文档

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

文档简介

1、计算机科学与技术系实验(项目)报告一、基本信息实验(项目)名称Linux网络文件传输系统课程名称Linux系统编程学生层次本科学生专业信息工程学生年级2014级学生班级信工一班学生学生姓名黎子涵完成日期2016年12月25日指导教师董祥千报告成绩二、目的与要求 目的:通过实验掌握并发服务器与客户端进行通信的功能。要求:1.Linux下项目开发工具;2.命令行参数;3.客户端文件名字定为为当前时间;4.对关键函数或系统调用要进行必要的错误判断处理;5.进程、线程;6.客户端将接收到的数据写入文件;7.进程间通信三、完成实验(项目)过程和效果内容: 程序结构设计;程序数据

2、设计;3.程序基本流程。4.编码、测试图1.1 程序调试步骤: 程序结构设计采用流式套接字,即TCP套接字。保证数据的可靠性。图1.2 TCP套接字传输过程2)采用多进程或多线程方式处理客户端问题。(服务器可能要处理多个客户请求)2.程序数据设计1)服务器端:根据套接字编程过程,需定义以下数据:监听套接字描述符、连接套接字描述符int listenfd , connfd;服务器端地址结构struct sockaddr_in server;struct sockaddr_in client;客户端地址结构:进程/线程ID :pid_t pid;接收数据缓冲区/发送数据缓冲区等char recvb

3、ufMAXDATASIZE,/接收数据缓冲区sendbufMAXDATASIZE,/发送数据缓冲区cli_nameMAXDATASIZE;/保存客户端的名字2)客户端:套接字描述符:int sockfd;服务器端地址结构struct sockaddr_in server;接收数据/发送数据缓冲区char sendlineMAXDATASIZE,/sendline是接收数据缓冲区recvlineMAXDATASIZE,/recvline是接收数据缓冲区char cname30;/保存用户输入的名字保存日志信息的数据。char wtext100;/保存需要写入文件的数据time_t t1;/保存当

4、前时间struct tm *t2;/当前时间的结构体形式int fd;/文件描述符程序结构基本流程。图1.3 服务器端程序流程图图1.4 客户端程序流程图四、知识应用1.实现两个客户端通过服务器进行通信的功能。(1)如果只是两个客户端和一个服务器,可通过服务器转发即可,两个客户端连接到服务器,服务器把从A接收到的发给B,把从B接收到的发给A即可;(2)如果要做成多个客户端的,则要给各个客户端分配ID,服务端好根据各个客户端和消息要转发送给客户端的ID来确定消息发送对象。服务端给各个客户端分配一个独立不重复的ID,在客户端登陆时根据认证参数来查找ID。客户端发送消息时要指定客户端的一个独立身份信息,可以是ID,也可以是其他,服务端可以通过查询来获取ID以及客户端当前是否连接上等来对客户端发送的消息进行响应或者存储等客户端上线后再转发。五、总结 本门课大概就是这个框架,总的来说,对于最后几章的内容很有兴趣,特别是最后几个实验,通过自己摸摸索索,自己慢慢折腾,好像找到了

温馨提示

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

评论

0/150

提交评论