资源描述:
《linux课程设计-linux下网络聊天工具的设计和实现》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、《Linux课程设计》Linux下聊天工具的设计与实现课题:Linux下网络聊天工具的设计与实现姓名:学号:班级:2014级通信工程班指导教师:设计时间:2017.06.30Linux课程设计摘要Linux课程设计摘要摘要这个毕业论文整体采用在linux平台下,在同一局域网内实现聊天功能。整体框架主要分为服务端和客户端两个部分,设置好ip和端口号,在Linux下编译和调试两主大块程序,实现服务端和各个客户端的连接,然后以服务端作为中继转实现客户端之间的通信。由于服务端只有一个,而客户端可以有任意多个,所以服务端采用了链
2、表来管理多个客户端的信息,客户端的信息发送通过封装在结构体中进行传输。本设计采用TCP/IP协议保证连接可靠,并在项目管理中采用linux流行的gcc和makefile编译,提高了编译和调试效率,加快了项目的完成速度。由于要模拟多个客户端,所以在运行的环境中需要在PC机上再克隆一个虚拟系统来操作多个客户端。本次设计的聊天工具采用字符串命令行的方式进行通信,主要实现了五个功能:新用户的注册与登录,用户之间一对一的聊天,用户之间群聊,用户之间文件加密传输,用户之间聊天记录保存。经过测试,程序运行可靠,能满足在linux中实
3、现网络聊天的要求。关键词linux,socket,gedit,服务端,客户端,网络编程ILinux课程设计ABSTRACTABSTRACTThisthesisgetstherealizationofchatinthesameLANundertheLinuxplatform.Theoverallframeworkisdividedintotwoparts:serverandclient.SetuptheIPandportnumber,compileanddebugtwomainbulkprogramsintheLinux
4、andrealizetheconnectionbetweentheserverandtheclients,andthenrealizethecommunicationbetweenclientsbyrelyingonserver.Sincethereisonlyaserver,butaremultipleclients,sotheserveradoptsalinkedlisttomanagemultipleclients’information,andtheinformationofclientsispackedint
5、ostructtotransfer.ThisdesignadoptstheTCP/IPprotocoltoensurereliableconnection,andusestheLinuxgccandmakefilecompilerinprojectmanagement,whichimprovesthecompilinganddebuggingefficiency,andspeedsuptheproject’completion.Duetothesimulationofmultipleclients,soitneedst
6、ocloneavirtualsysteminthePCmachinetooperatemultipleclientsintherunningenvironment.Thechattoolofthedesignworksbyusingthemethodofcharacterstringcommandline,whichmainlyaccomplishesfivefunctions:newusers’registrationandlogin,biuniquechatbetweenusers,users’groupchat,
7、fileencryptionandtransmissionbetweenusers,users’chatrecordretention.Afterthetest,theprogramisreliable,andcanmeettherequirementsofnetworkchatinLinux.KeywordsLinux,socket,gedit,server,client,networkprogrammingIILinux课程设计目录目录摘要IABSTRACTII1绪论11.1研究背景11.1.1Linux的介绍11
8、.1.2linux的发展史21.1.3socket介绍21.2研究意义31.3国内外研究现状32需求分析52.1功能需求52.2性能需求52.3模块划分52.4模块调用关系62.5系统总流程图62.6文件信息安全83linux网络编程93.1socket概念及功能93.2socket类型93.3socket函数103.3.1API