基于Linux点对点聊天文件传输系统(2)
内蒙古工业大学毕业设计说明书
引 言
在互联网已经普及的今天,人们的生活和工作越来依赖信息网络。上网聊天、传送资料已经是人们生活中必不可少的东西。目前市场已有很多受人们的青睐优秀的聊天工具,例如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字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [高等教育]公司协助某村精准扶贫工作总结.doc
- [高等教育]高二生物知识点总结(全)
- [高等教育]苏教版数学三年级下册《解决问题的策略
- [高等教育]仪器分析课程学习心得
- [高等教育]2017年五邑大学数学与计算科学学院333
- [高等教育]人教版七年级下册语文第四单元测试题(
- [高等教育]2018年秋七年级英语上册Unit7Howmuchar
- [高等教育]2017年八年级下数学教学工作小结
- [高等教育]湖南省怀化市2019届高三统一模拟考试(
- [高等教育]四年级下册科学_基础训练及答案教材
- [高等教育]城郊煤矿西风井管路伸缩器更换施工安全
- [高等教育]昆八中20182019学年度上学期期末考试
- [高等教育]项目部各类人员任命书
- [高等教育]上市公司经营水务产业的模式
- [高等教育]人教版高二化学第一学期第三章水溶液中
- [高等教育]【中考物理第一轮复习资料】四.压强与
- [高等教育]金坑水电站报废改建工程机电设备更新改
- [高等教育]高中生物教学工作计划简易版
- [高等教育]2017年西华大学攀枝花学院(联合办学)44
- [高等教育]最新整理超短爆笑英文小笑话大全
- 优秀教师继续教育学习心得体会
- 阳历到阴历的转换
- 留守儿童教育案例分析
- 华师17春秋学期《玩教具制作与环境布置
- 测速传感器新型安装装置的现场应用
- 人教版小学数学三年级下册第四单元
- 创业个人意向书
- 山东省潍坊市2012年高考仿真试题(三)
- [恒心][好卷速递]四川省成都外国语学校
- 多少人错把好转反应当成了病情加重处理
- 中外广播电视史复习资料整理
- 江苏省扬州市江都区宜陵镇中学2014-201
- 工程造价专业毕业实习报告
- 广西师范学院心理与教育统计
- aympkrq基于 - asp的博客网站设计与开
- 建筑业外出经营相关流程操作(营改增后
- 人治 德治 法治
- [精华篇]常识判断专项训练题库
- 中国共产党为什么要实行民主集中
- 小学数学第三册第一单元试卷(A、B、C




