欢迎来到冰豆网! | 帮助中心 分享价值,成长自我!
冰豆网
全部分类
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • 党团工作>
  • ImageVerifierCode 换一换
    首页 冰豆网 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    多用户网络版学生学藉管理系统说明书Word文档下载推荐.docx

    • 资源ID:17015816       资源大小:227.87KB        全文页数:35页
    • 资源格式: DOCX        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    多用户网络版学生学藉管理系统说明书Word文档下载推荐.docx

    1、2、概要设计 82.1 设计图 82.2 数据结构 102.3 函数设计 103、详细设计 114、程序清单 14服务器主要功能函数 14四、程序调试与体会 261、程序调试 262、体会 27五、运行结果 28六、参考文献 33摘 要嵌入式Linux是一种嵌入到硬件设备的操作系统,也是一种功能强大的应用程序开发平台。支持C语言开发,既有C语言自带的库函数,也有嵌入式Linux自己的系统C库,在目前的嵌入式软件开发行业有着举足轻重的作用。在嵌入式Linux应用程序设计中主要有以下特点:网络、多用户、I/O、socket、进程控制、进程通信和线程等。学好嵌入式Linux应用程序设计绝不是纯技术问

    2、题,需要综合考虑多方面的因素,加深对网络编程和底层通信的理解。因此必须强调多上机实践。本课程设计通过C实现客户端和服务器之间的通信,客户端发出请求,服务器实现增、删、改、查等操作,然后返回相关信息给客户端。本课程设计通过socket实现客户端和服务器之间的通信。服务器生产自己的socket流,把自己的端口绑定出去,然后监听有无客服端的链接。客服端也生产自己的socket流,然后链接服务器,用系统定义好的struct message结构体传输消息,通过send_msg()和rev_msg()函数接发消息。如客户端发送注册消息给服务器,在客户端完成账号和密码的输入,服务器接收到消息后进行验证,验证

    3、无误后写入文件并发送注册成功信息给客户端。在设计过程中,我们用心的从一个开发项目的程序员的角度出发并解决了自己在程序中的多处不足和缺陷。例如在录入学生学籍信息时,设计了关于数据有效性的操作等。在系统的设计中我们加强了界面的美观设计,使程序在简洁的基础上可读更强,更人性化!最后我们在设计过程中也尝试了创新的方法,也收到了很好的效果。总之,通过此课程设计,我们都感觉到自己在整体上有了一个很大的提高,知识更加系统化,理论化,我们会继续努力课不断地专研关键字:网络、多用户、I/O、socket、进程控制、进程通信、线程。AbstractEmbedded Linux is a kind of embed

    4、ded hardware equipment to the operating system, is also a powerful application development platform. Support C language development, both C language own library function, also have embedded Linux systems C library, in the present embedded software development industry has a pivotal role. In embedded

    5、 Linux applications design basically has the following characteristics: network, many users, I/O, socket, process control, process, communication and thread, etc. Learn embedded Linux application design is not pure technical problems, takes into account many factors, deepen our understanding of the

    6、network programming and the bottom of the communication understanding. So must emphasize more practice. The course is designed to achieve by C client and server of communication between the, the client is requested, increase, delete, server practice, check the function, and then returns to the infor

    7、mation related to the client.This course design through the socket realize the client and the server of the communication between. Server socket of their production flow, oneself of the port binding go out, and then listening for the customer service links. The production of their customer service a

    8、nd socket flow, and then link server, with good struct message system defined structures transmission news, through the send_msg () () function and rev_msg receiver news. If client sends messages to the server registered at the client complete account and password input, the server receives news ver

    9、ification, verification and written to the file and send information to the client registered success.In the design process, we have the intention of a development project from the point of view of the programmers and solved their in the program the shortage and defects. For example in the student s

    10、tatus information input students, about the effectiveness of the design data manipulation, etc. In the design of the system, we strengthened the interface of the beautiful design, makes the program in concise basis can be read, stronger, more human! Finally, we in the design process and try innovati

    11、ve ways, also has received the good effect. All in all, through this course design, we all feel on the whole have a greatly increased, knowledge more systematic and theoretical, we will continue to work hard lessons constantly grinds onlyKey word: network, many users, I/O, socket, process control, p

    12、rocess communication, thread.嵌入式linux应用程序设计课程设计 -多用户网络版学生学藉管理系统一、引言随着人们生活水平的提高,计算机发展异常迅速。如今,计算机已经深入到我们社会的各个领域,计算机的使用也已不再局限于科学计算,它已进入人类社会的各个领域并发挥着越来越重要的作用。通过计算机对各类问题求解已经成为一种高效、快捷的方式。嵌入式Linux应用程序设计是一门实践性很强的课程,光靠听课和看书是学不好的。衡量学习的好坏的标准不是懂不懂。因此必须强调多编程,多上机实践。所以开设了这次课程设计,目的在于使学生达到熟练掌握嵌入式LinuxC编程基本知识的技能,掌握其应

    13、用程序设计的基本思路和方法,能够利用所学的基本知识和技能,做一个简单的多用户网络版的管理系统。这对于进一步巩固嵌入式LinuxC编程知识是一个很好的机会。本课程设计采用嵌入式LinuxC程序设计语言,通过嵌入式LinuxC实现客户端和服务器之间的通信,客户端发出请求,服务器实现增、删、改、查等操作,然后返回相关信息给客户端。二、设计目的与任务1、本课程设计的目的在嵌入式linux 操作系统环境下,使用linux C编程实现了一个功能相对简单的多用户的字符界面的网络版的学生学藉管理系统。通过对该简单系统的设计,能够熟悉掌握嵌入式应用程序设计技巧,加深对I/O、socket、进程控制、进程间通信和

    14、线程等底层编程的理解,编制结构清晰、风格良好、数据结构适当的linux C程序。2、本课程设计的任务实现服务端和客户端,服务端为某学校,客户端为教务。服务端完成系统主要功能模块的实现和数据的存储,客服端完成各种服务请求的操作界面的实现和数据的输入,操作界面以菜单方式工作。通过这次课程设计,达到更加灵活的运用所学的理论和知识和方法,以及独立分析和解决问题的能力;培养实事求是、认真、严谨的科学态度和刻苦钻研不断创新的精神,逐步建立正确的全局观念。三、设计方案1、需求分析1.1 问题描述1.2 功能要求1) 用户管理模块:客户端完成用户注册和申请,服务端完成用户验证。2) 学藉输入模块:客户端完成学

    15、生学藉相关信息的输入(学号,姓名,性别,年龄,籍贯,系别,专业,班级)。服务端完成对数据的保存,保存成文件。3) 显示学藉模块:客户端提出显示请求,服务端发送相关数据到客服端并显示。4) 删除学生记录模块:客户端提出记录删除请求(按学号),服务端完成对相关数据的删除并进行文件的更新。5) 修改学生学藉记录模块:客户端提出记录修改请求(按学号),服务端完成对记录修改并进行文件的更新。6) 学生学藉查询模块:客户端提出学生学藉查询请求(按学号),服务端完成对图书信息查询并将查询结果返回给客户端。1.3 问题的解决方案根据题目要求,可以将问题的解决分为以下步骤:1) 整体分析,建立功能模块框图及界面

    16、的组织和设计。2) 分析各个模块及他们之间的关系。3) 根据问题描述,设计模块。4) 完成模块中各个函数的描述。5) 完成模块中各个函数的定义。6) 完成功能应用模块。7) 功能调试。8) 完成问题总结报告。2、概要设计2.1 设计图图 3-1 系统模块图图3-2 使用TCP协议socket 程流程图图 3-3学藉管理系统客户端模快图图 3-4学藉管理系统服务器模快图2.2 数据结构本系统中主要的数据结构是用于客户端和服务器发送信息的struct message、客户通信节点信息struct _Client_Inf和用户节点链表信息struct _Link_Node。/定义socket消息数据

    17、结构struct message char flag20;/聊天类型 char name20;/用户姓名 char msgMAXLEN;/正文;/客户通信节点信息typedef struct _Client_Inf char name10;/客户姓名 int fd;/客户通信socket struct sockaddr_in addr;/客户socket地址 pthread_t pid;/客户使用线程PIDClient_Inf,datatype;/用户节点链表信息typedef struct _Link_Node datatype data; struct _Link_Node *next;L

    18、ink_Node,*LinkList;2.3 函数设计函数主要功能描述客户端:void menu() 登陆成功显示界面void handle_regist() 提出注册请求void handle_login() 提出登陆请求void handle_input() 学藉信息录入void handle_display() 发送显示信息请求void handle_delet() 发送删除信息请求void handle_update() 发送修改信息请求void handle_select() 发送查询信息请求void handle_exit() 退出服务器:void user_manage() 用户

    19、管理函数void *pthread_accept(void *arg) 等待接收socket连接线程处理void *pthread_handleclient(void *arg) 线程处理函数int reg_check(struct message sock_msg) 核对注册请求int log_check(struct message sock_msg) 核对登陆请求计算参数所指定的文件中的记录的个数的函数int count(char * a)服务器信息存储void handle_input(struct message sock_msg,Client_Inf client_inf)读出学藉

    20、信息void handle_display(Client_Inf client_inf)删除信息查找void handle_delete(struct message sock_msg,Client_Inf client_inf)修改信息查找void handle_update(struct message sock_msg,Client_Inf client_inf)查询信息查找void handle_select(struct message sock_msg,Client_Inf client_inf)3、详细设计主要函数功能详细说明:void handle_regist() /提出注册

    21、请求 输入用户名和两次密码; 发送给客户端;send_msg(sockfd,socket_msg);void handle_login() /提出登陆请求 输入用户名和密码;void handle_input() /学藉信息录入 输入学生学藉相关信息;void handle_display() /发送显示信息请求 发送显示请求;void handle_delet() /发送删除信息请求 发送删除请求;void handle_update() /发送修改信息请求 发送修改请求;void handle_select() /发送查询信息请求 发送查询请求;void handle_exit() /退出

    22、 exit(1);服务器void user_manage() /用户管理函数 显示初始界面;void *pthread_accept(void *arg) /等待接收socket连接线程处理 int sockfd=*(int *)arg;while(1)client_inf.fd=accept_sock(sockfd,&client_inf.addr);pthread_create(&client_inf.pid,NULL,(void*)pthread_handleclient,(void*)&client_inf);void *pthread_handleclient(void *arg)

    23、/线程处理函数 判断接收的标记信息 recv_msg(client_inf.fd,&sock_msg); 转入到相应处理函数;int reg_check(struct message sock_msg) /核对注册请求 依次从文件中读取信息和接收到的信息相比; 都不相等则追加写入,注册成功; 否则注册失败;int log_check(struct message sock_msg) /核对登陆请求 找到相等,登陆成功; 否则登陆失败;int count(char * a) /计算参数所指定的文件中的记录的个数的函数if(fp=fopen(a,rb)=NULL)/只读方式打开指定文件printf

    24、(nCannot open filen);getchar();return 0;for(i=0;!feof(fp);i+)/循环读取文件内记录直到文件尾fread(&socket_msg,sizeof(struct message ),1,fp);fclose(fp);void handle_input(struct message sock_msg,Client_Inf client_inf) /服务器信息存储 将接收到的信息写入文件; fwrite(&sock_msg, sizeof(sock_msg), 1, fp)void handle_display(Client_Inf clien

    25、t_inf) /读出学藉信息 循环从文件中读出数据发送给客户端;sock_msg, sizeof(struct message), 1, fp)send_msg(client_inf.fd,sock_msg);void handle_delete(struct message sock_msg,Client_Inf client_inf) /删除信息查找创建包含学号信息的链表;在链表中找到待删除的记录和文件中的记录比较;找到后写入临时文件中,并跳过待删除的记录;for(con=0; condata.fd=server_fd; if (argc!=2) perror(port: exit(1);

    26、 server_fd=create_sock(); init_host_addr(&server_addr,NULL,argv1); if (bind_sock(server_fd,server_addr)=-1)bind_sock:n if (listen_sock(server_fd,10)=-1)listen_sock: pthread_create(&pid,NULL,(void *)pthread_accept,(void *)&server_fd); user_manage(); return;int reg_check(struct message sock_msg) int nread,nwrite; struct message user_msg; if(fd=open(user.txt,O_RDWR|O_CREAT|O_APPEND,0666)0)o


    注意事项

    本文(多用户网络版学生学藉管理系统说明书Word文档下载推荐.docx)为本站会员主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开