基于Linux点对点聊天文件传输系统
下载后可任意编辑 学校代码 学 号 本科毕业设计说明书 ( 题 目基于Linux点对点聊天文件传输系统 学生姓名 学 院信息工程学院 系 别计算机系 专 业计算机科学与技术 班 级 指导老师 二 〇 一 一 年 六 月 摘 要 本文是要在Linux平台下开发一款点对点聊天文件传输系统。实现即时聊天功能和文件的传输。 系统用c语言进行编写,使用到了GTK库,运用gcc编程语言编译器进行编译。开发中利用了计算机网络编程的基本理论知识,如TCP/IP协议、客户端/服务器端模式(Client/Server模式)、网络编程的设计方法等。使用了流式套接字实现客户端与服务器端的连接。通过创建多线程实现I/O流的非堵塞状态。使用glade生成可视化图形界面,可以在短时间内建立系统应用原型,然后,对初始原型系统进行不断修正和改进,直到形成可行系统。 综合运用以上技术能够开发出一款基于Linux平台的聊天文件传输系统。受开发人员技术水平的限制,本系统只能归为简单的聊天系统,因为本系统与现在基于windows平台广泛应用的聊天系统的功能还用很大差距,需要用到更多的技术才能够实现更完美功能。 关键词点对点传输;Socket;glade Abstract This paper is to develop a Linux plat file transfer peer chat system. Achieve real-time chat and file transfer C language for writing system, used the GTK library and gcc compiler to compile programming languages. Development of computer network programming using the basic theoretical knowledge, such as TCP / IP protocol, client / server mode Client / Server mode, web programming design s. Using stream socket client and server-side to achieve connection. Achieved by creating a multi-threaded I/O streams of non-blocking state. Use glade to generate visual graphical interface, the application can create a system prototype in a short time, then, the initial prototype system constantly revised and improved, until the ation of a viable system. Integrated use of these technologies to develop a Linux-based chat file transfer system. By the developers technical limitations, This system can only be classified as a simple chat system, Because the system is now widely used on windows plat chat system also features a large gap with, Need to use more technology to be able to achieve a more perfect function. Keywords Point-to-point transmission ;Socket ;glade 下载后可任意编辑 目 录 引 言1 第一章 主要技术简介2 1.1 LINUX简介2 1.2 SOCKET简介2 1.2.1 Socket的创建3 1.2.2 Socket工作过程3 1.2.3 Socket常用函数3 1.3 GTK4 1.4 GCC概述4 1.5 TCP简介5 1.6 进程与线程5 1.6.1 进程5 1.6.2 线程6 1.6.3 线程与进程的区别7 1.7 图形界面生成工具介绍7 1.7.1 Glade7 1.7.2 GTK7 第二章 系统设计9 2.1 开发需求9 2.1.1 运行环境9 2.1.2 客户需求9 2.2 系统功能描述9 2.3 系统功能模块划分10 2.4 系统流程分析10 第三章 详细设计说明12 3.1 界面设计12 3.1.1 界面的生成过程12 3.1.2 生成的界面13 3.2 初始化模块设计14 3.3 发送模块设计17 3.4 接收模块设计18 3.5 线程处理模块18 3.6 结束模块18 结 论20 参 考 文 献21 谢 辞22 22 下载后可任意编辑 引 言 在互联网已经普及的今日,人们的生活和工作越来依赖信息网络。上网聊天、传送资料已经是人们生活中必不可少的东西。目前市场已有很多受人们的青睐优秀的聊天工具,例如QQ、MSN等。这些聊天软件大都基于windows平台开发的,而且也只能在window操作系统下运行。 Linux操作系统本身具有很高的安全性,不易感染病毒,而且可移植性强,被很多专业人士所使用,也应用于大多数的服务器,然而由于Linux并不能被普通人接受使得这一环境下开发的软件很少。Internet的迅猛进展,使得Linux操作系统被越来越多的人认识并使用。然而基于Linux操作系统平台的聊天传输软件非常之少,不能满足人们的需求,所以开发一款Linux操作系统下的聊天软件是很有必要的。本系统实现了在Linux操作系统下完成两台计算机的点对点传输功能,为两台运行Linux系统的电脑提供方便快捷的沟通传输平台供用户使用,与此同时也增加了Linux的有用性。 本系统将开发一款Linux下的聊天软件实现点对点传输功能。与成熟的聊天软件相比本系统能够完成的功能要少很多,但针对那些没有更多的功能需求的用户,本系统占用资源比功能强大的聊天软件要少。 第一章 主要技术简介 1.1 LINUX简介 Linux操作系统是UNIX操作系统的一种克隆系统。它诞生于1991年的10月5日。