基于tcpip的多用户聊天系统物【字数:9838】
本篇论文主要设计了基于TCP/IP的多用户聊天系统。本课题采用linux开发环境,采用C语言开发,使用socket函数组实现最基本的进程间通信,再通过在服务器函数中构建多个线程同时运行,让服务器程序能同时处理多个用户客户端的请求,使用链表结构保存每一个用户和聊天室的信息,使用基本的IO操作 read和 write实现对文件的读写操作。本课题已经能够实现用户的注册、登录、创建群、群聊、私聊、添加好友、禁言等功能。
Key Words: OSI model;TCP/IP fourlayer model;TCP;multiuser;linux目录
1.绪论 1
1.1研究的背景 1
1.2研究的现状 1
1.3本文的主要工作和内容安排 2
2. 开放系统互连参考模型简介 3
2.1OSI模型简介 3
2.2物理层 4
2.3数据链路层 4
2.3.1数据链路层的基本概念 4
2.3.2数据链路层的主要功能 7
2.4网络层 7
2.4.1网络层的概述 7
2.4.2网络层的功能目的 8
2.5传输层 8
2.5.1传输层的简介 8
2.5.2传输层的基本功能 9
2.5.3传输层的服务类型 9
2.6会话层 9
2.7表示层 9
2.8应用层 10
3. TCP/IP四层模型 11
3.1 TCP/IP四层模型的层次结构 11
3.2网络接口层 11
3.3网络层 12
3.3.1网络层的概述 12
3.3.2网络层的ipv4协议 12
3.4传输层 12
3.4.1传输层的概述 12
3.4.2传输层的TCP协议 13
3.4.3传输层的UDP协议 14
3.5应用层 14
3.5.1应用层的概述 14
3.5.2应用层的DNS协议 14
3.5.3应用层的DHCP协议 15
*好棒文|www.hbsrm.com +Q: @351916072@
4.TCP套接字 17
4.1socket函数 17
4.2connect函数 19
4.3bind函数 20
4.4listen函数 21
4.5accept函数 22
4.6close函数 22
5.多用户聊天系统 23
5.1注册与登录 23
5.1.1注册 23
5.1.2登录 24
5.2添加好友与私聊 25
5.3创建聊天室与群聊 25
5.4调试运行 27
6.总结和展望 30
参考文献 31
致谢 32
1.绪论
1.1研究的背景
随着信息时代的飞速发展,网络信息交流逐渐与人们的日常生活密不可分,给人们生活带来了方便,为人们工作信息互通打开了快捷之门。网络通信软件的快速普及,主要有以下三种原因:其一是因为随着软件开发能力的不断增强,多元化多功能的网络通信软件已经具有普适性,下载、安装已经为广大人群所接受,安装使用都显得非常的快捷、方便;其二是因为在使用的过程中不需要投入大量的物力资源,仅需要彼此双方提供可供电脑、手机等可供链接网络资源的设备,安装相同的客户端,就可以实现双向或多向的信息交流,而且彼此之间的交流不分地区,不分国籍,走向国际。同时彼此之间信息交流的形式多样,可以通过语音、视频等方式,缩小交流双方的距离,使交流更亲切,更自然;还可以在交流的过程中可以将双方所需要的图片、视频、文本等资源通过即时传输方式,实现双方资源共享;其三是因为网络通信软件的使用是借助于网络进行的,免除了像手机电话、发送短信等通讯费用,降低了消费成本。
现如今,有很多的企业、学校等都需要用到各种各样的网络通信软件来进行日常的工作交流、发布每日任务、信息处理,例如:腾讯公司的QQ、微信等。本论文所介绍的基于TCP/IP的多用户聊天系统就是在这类的通信软件的基础上自己制作了一个具有它们相应功能的网络通信系统。
1.2研究的现状
多用户聊天系统作为公司、企业以及学校提供日常的信息处理的工具,可以解决信息交流中的信息量繁多的问题,为企业内部的资料互传、与外界的沟通交流以及一个企业未来的发展具有极其重要的作用。目前基于TCPIP的多用户聊天室系统已经是一门很成熟的技术,现已发展成为了各式各样的通讯软件,也不单单局限在局域网中,也能在广域网中使用,通讯的方式也不单单为文本传输,也支持视频,语音等多媒体的通讯的实时交谈,如QQ、微信、MSN等软件。
本课题的特点为在局域网下,能高效的实现一个基本的通讯软件功能,移植性强,通讯稳定,便携性高,对系统的CPU开销小。
1.3本文的主要工作和内容安排
本文针对以上情况,在虚拟机上基于TCP创建服务器和客户端程序,服务器用于连接各个客户端并转发消息,客户端用于客户聊天,创建能够实现用户注册和登录功能的服务器的sqlite3数据库,然后再用select函数来实现保存并且监听客户端接入的tcp套接字,创建一个基于TCP的多用户聊天系统。具体结构安排如下:
第一章为绪论,重点介绍了多用户聊天系统的研究背景和现状。
第二章介绍了OSI七层模型的基本理论。
第三章详细介绍了TCP的四层模型。
第四章研究了利用TCP/IP设计多用户聊天系统。
第五章对全文进行了总结和展望。
2. 开放系统互连参考模型简介
2.1OSI模型简介
/
图211 OSI参考模型
OSI参考模型是随着现代计算机网络体系结构不断发展而呈现出来的一个重要的,新型的产物。OSI模型将开放系统的通信功能按照从低到高的顺序分成了7个层次。这七层之间的功能互不干扰,具有相对独立性,分别承担着不同的任务。在这七层之间,每一个低层均要利用通信原语为高一层提供服务功能。
2.2物理层
Key Words: OSI model;TCP/IP fourlayer model;TCP;multiuser;linux目录
1.绪论 1
1.1研究的背景 1
1.2研究的现状 1
1.3本文的主要工作和内容安排 2
2. 开放系统互连参考模型简介 3
2.1OSI模型简介 3
2.2物理层 4
2.3数据链路层 4
2.3.1数据链路层的基本概念 4
2.3.2数据链路层的主要功能 7
2.4网络层 7
2.4.1网络层的概述 7
2.4.2网络层的功能目的 8
2.5传输层 8
2.5.1传输层的简介 8
2.5.2传输层的基本功能 9
2.5.3传输层的服务类型 9
2.6会话层 9
2.7表示层 9
2.8应用层 10
3. TCP/IP四层模型 11
3.1 TCP/IP四层模型的层次结构 11
3.2网络接口层 11
3.3网络层 12
3.3.1网络层的概述 12
3.3.2网络层的ipv4协议 12
3.4传输层 12
3.4.1传输层的概述 12
3.4.2传输层的TCP协议 13
3.4.3传输层的UDP协议 14
3.5应用层 14
3.5.1应用层的概述 14
3.5.2应用层的DNS协议 14
3.5.3应用层的DHCP协议 15
*好棒文|www.hbsrm.com +Q: @351916072@
4.TCP套接字 17
4.1socket函数 17
4.2connect函数 19
4.3bind函数 20
4.4listen函数 21
4.5accept函数 22
4.6close函数 22
5.多用户聊天系统 23
5.1注册与登录 23
5.1.1注册 23
5.1.2登录 24
5.2添加好友与私聊 25
5.3创建聊天室与群聊 25
5.4调试运行 27
6.总结和展望 30
参考文献 31
致谢 32
1.绪论
1.1研究的背景
随着信息时代的飞速发展,网络信息交流逐渐与人们的日常生活密不可分,给人们生活带来了方便,为人们工作信息互通打开了快捷之门。网络通信软件的快速普及,主要有以下三种原因:其一是因为随着软件开发能力的不断增强,多元化多功能的网络通信软件已经具有普适性,下载、安装已经为广大人群所接受,安装使用都显得非常的快捷、方便;其二是因为在使用的过程中不需要投入大量的物力资源,仅需要彼此双方提供可供电脑、手机等可供链接网络资源的设备,安装相同的客户端,就可以实现双向或多向的信息交流,而且彼此之间的交流不分地区,不分国籍,走向国际。同时彼此之间信息交流的形式多样,可以通过语音、视频等方式,缩小交流双方的距离,使交流更亲切,更自然;还可以在交流的过程中可以将双方所需要的图片、视频、文本等资源通过即时传输方式,实现双方资源共享;其三是因为网络通信软件的使用是借助于网络进行的,免除了像手机电话、发送短信等通讯费用,降低了消费成本。
现如今,有很多的企业、学校等都需要用到各种各样的网络通信软件来进行日常的工作交流、发布每日任务、信息处理,例如:腾讯公司的QQ、微信等。本论文所介绍的基于TCP/IP的多用户聊天系统就是在这类的通信软件的基础上自己制作了一个具有它们相应功能的网络通信系统。
1.2研究的现状
多用户聊天系统作为公司、企业以及学校提供日常的信息处理的工具,可以解决信息交流中的信息量繁多的问题,为企业内部的资料互传、与外界的沟通交流以及一个企业未来的发展具有极其重要的作用。目前基于TCPIP的多用户聊天室系统已经是一门很成熟的技术,现已发展成为了各式各样的通讯软件,也不单单局限在局域网中,也能在广域网中使用,通讯的方式也不单单为文本传输,也支持视频,语音等多媒体的通讯的实时交谈,如QQ、微信、MSN等软件。
本课题的特点为在局域网下,能高效的实现一个基本的通讯软件功能,移植性强,通讯稳定,便携性高,对系统的CPU开销小。
1.3本文的主要工作和内容安排
本文针对以上情况,在虚拟机上基于TCP创建服务器和客户端程序,服务器用于连接各个客户端并转发消息,客户端用于客户聊天,创建能够实现用户注册和登录功能的服务器的sqlite3数据库,然后再用select函数来实现保存并且监听客户端接入的tcp套接字,创建一个基于TCP的多用户聊天系统。具体结构安排如下:
第一章为绪论,重点介绍了多用户聊天系统的研究背景和现状。
第二章介绍了OSI七层模型的基本理论。
第三章详细介绍了TCP的四层模型。
第四章研究了利用TCP/IP设计多用户聊天系统。
第五章对全文进行了总结和展望。
2. 开放系统互连参考模型简介
2.1OSI模型简介
/
图211 OSI参考模型
OSI参考模型是随着现代计算机网络体系结构不断发展而呈现出来的一个重要的,新型的产物。OSI模型将开放系统的通信功能按照从低到高的顺序分成了7个层次。这七层之间的功能互不干扰,具有相对独立性,分别承担着不同的任务。在这七层之间,每一个低层均要利用通信原语为高一层提供服务功能。
2.2物理层
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/dzxx/dzkxyjs/898.html