教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 高等教育 >

基于Linux点对点聊天文件传输系统(2)

来源:网络收集 时间:2026-07-17
导读: 内蒙古工业大学毕业设计说明书 引 言 在互联网已经普及的今天,人们的生活和工作越来依赖信息网络。上网聊天、传送资料已经是人们生活中必不可少的东西。目前市场已有很多受人们的青睐优秀的聊天工具,例如QQ、MSN

内蒙古工业大学毕业设计说明书

引 言

在互联网已经普及的今天,人们的生活和工作越来依赖信息网络。上网聊天、传送资料已经是人们生活中必不可少的东西。目前市场已有很多受人们的青睐优秀的聊天工具,例如QQ、MSN等。这些聊天软件大都基于windows平台开发的,而且也只能在window操作系统下运行。

Linux操作系统本身具有很高的安全性,不易感染病毒,而且可移植性强,被很多专业人士所使用,也应用于大多数的服务器,然而由于Linux并不能被普通人接受使得这一环境下开发的软件很少。Internet的迅猛发展,使得Linux操作系统被越来越多的人认识并使用。然而基于Linux操作系统平台的聊天传输软件非常之少,不能满足人们的需求,所以开发一款Linux操作系统下的聊天软件是很有必要的。本系统实现了在Linux操作系统下完成两台计算机的点对点传输功能,为两台运行Linux系统的电脑提供方便快捷的交流传输平台供用户使用,与此同时也增加了Linux的实用性。

本系统将开发一款Linux下的聊天软件实现点对点传输功能。与成熟的聊天软件相比本系统能够完成的功能要少很多,但针对那些没有更多的功能需求的用户,本系统占用资源比功能强大的聊天软件要少。

1

内蒙古工业大学毕业设计说明书

第一章 主要技术简介

1.1 LINUX简介

Linux操作系统是UNIX操作系统的一种克隆系统。它诞生于1991年的10月5日。由于Linux是开源和免费的,得到了广大计算机爱好者全力支持,现已成为今天世界上使用最多的一种UNIX类操作系统。其具有的 特点有:

1、开放性:指系统遵循世界标准规范,特别是遵循开放系统互连(OSI)国际标准。

2、多用户:是指系统资源可以被不同用户使用,每个用户对自己的资源(例如:文件、设备)有特定的权限,互不影响。

3、多任务:它是指计算机同时执行多个程序,而且各个程序的运行互相独立。

4、良好的用户界面 :Linux向用户提供了两种界面,用户界面和系统调用。Linux还为用户提供了图形用户界面,它利用鼠标、菜单、窗口、滚动条等设施,给用户呈现一个直观、易操作、交互性强的友好图形化界面。

5、设备独立性:是指操作系统把所有外部设备统一当作成文件来看待,只要安装它们的驱动程序,任何用户都可以像使用文件一样,操纵、使用这些设备,而不必知道它们的具体存在形式。Linux是具有设备独立性的操作系统,它的内核具有高度适应能力,提供了丰富的网络功能,完善的内置网络是Linux一大特点。

6、安全性:Linux采取了许多安全技术措施,包括对读、写控制、带保护的子系统、审计跟踪、核心授权等,这为网络多用户环境中的用户提供了必要的安全保障。

7、良好的可移植性:是指将操作系统从一个平台转移到另一个平台,它仍然能按其自身的方式运行的能力。Linux是一种可移植的操作系统,能够在从微型计算机到大型计算机的任何环境中和任何平台上运行。

1.2 SOCKET简介

Socket通常也称作\套接字\,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。Server Socket用于服务器端,Socket是建立网络连接时使用的,在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在

2

内蒙古工业大学毕业设计说明书

服务器端或在客户端而产生不同级别。Socket可以支持数据的发送和接收,它会定义一种称为套接字的变量,发送数据时首先创建套接字,然后使用该套接字的sendto等方法对准某个IP/端口进行数据发送;接收端也要创建套接字,然后将该套接字绑定到一个IP/端口上,所有发向此端口的数据会被该套接字的recv等函数读出,如同读出文件中的数据一样。

1.2.1 Socket的创建

网络的Socket数据传输是一种特殊的I/O,Socket也是一种文件描述符。Socket也具有一个类似于打开文件的函数调用Socket(),该函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。常用的Socket类型有两种:流式Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。流式是一种面向连接的Socket,针对于面向连接的TCP服务应用;数据报式Socket是一种无连接的Socket,对应于无连接的UDP服务应用。Socket建立为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄。Socket函数原型为:int Socket(int domain, int type, int protocol),其中domain指明所使用的协议族,AF_INET表示互联网协议族(TCP/IP协议族);type参数指定Socket的类型:SOCK_STREAM或SOCK_DGRAM,Socket接口还定义了原始Socket(SOCK_RAW),允许程序使用低层协议;protocol通常赋值0。Socket()调用返回一个整型Socket描述符,可以在后面的调用使用它。Socket描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用Socket函数时,Socket执行体将建立一个Socket,实际上建立一个Socket,意味着为一个Socket数据结构分配存储空间。

1.2.2 Socket工作过程

Socket程序的工作过程可分为三个步骤:1、建立Socket连接:在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接通道;2、数据通信:利用虚拟连接通道传送数据信息进行通道;3、关闭:通信结束时,再将所建的虚拟连接拆除。

1.2.3 Socket常用函数

Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,可

3

内蒙古工业大学毕业设计说明书

以用它们来开发TCP/IP网络上的应用程序。

Socket编程中常用到的函数有:创建套接字Socket();将套接字与已知地址及端口绑定bind();设置监听Socket模式listen();请求建立连接connect();接受客户的连接请求accept();接受recv();发送send();关闭连接释放资源close()。

1.3 GTK

GTK(GIMP Toolkit)是一套用于创建图形用户界面的工具包,它遵循LGPL许可证,所以可以用它来开发开源软件、自由软件,甚至是封闭源代码的商业软件,GTK是一个免费的工具包。GTK被称为GIMP工具包是因为最初写它是用来开发GNU图像处理程序)的,但是它现在已经被用于很多软件项目了,包括GNOME等。GTK是在 GDK(GIMPD rawing Kit)和gdk-pixbuf的基础上建立起来的,GDK基本上是对访问窗口的底层函数(在X窗口系统中是Xlib)的一层封装,gdk-pixbuf是一个用于客户端图像处理的库。 …… 此处隐藏:1288字,全部文档内容请下载后查看。喜欢就下载吧 ……

基于Linux点对点聊天文件传输系统(2).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/615650.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)