局域网聊天软件设计与实现(Linux,C++,MySQL)
无需注册登录,支付后按照提示操作即可获取该资料.
局域网聊天软件设计与实现(LINUX,C++,MySQL)(任务书,中期检查报告,外文翻译,毕业论文16000字,程序代码,MySQL数据库,答辩PPT)
摘 要
局域网聊天软件是在LINUX系统下运行的一个应用程序,程序用c++语言编写。本程序有如下功能:用户列表自动刷新、通过TCP通信协议进行消息收发、MYsql数据库保存用户名与密码。该设计是一个简单的局域网聊天软件,适用于企业内部和实验室使用,不与互联网进行数据交换,具有高速、安全等优势。
本文着重介绍下列内容:对用户上下线消息通知、聊天消息收发等进行数据解析;TCP网络编程,讲述用TCP 创建Client和Server以及收发数据的实现;最后对本设计的具体实现方法和设计实现流程进行讲解以及程序运行分析。
关键词: LINUX;TCP;Socket;Mysql数据库;C++
The Design And Implementation of The LAN Chat Software
Abstract
The LAN chat tool is An application under LINUX.The application written by C++ language.This program has the following functions: sending broadcast when login and exit,sending and receiving messages by the TCP communication protocol, using MYsql database to save chat messages. it is most often used to chat in enterprise and laboratory, it is working without data exchange from Internet,so it can transmit data high speed and security.
This paper focuses on the following contents: the user online and offline message notification, chat message send and receive data analysis; TCP network programming, here tells the method of using TCP to create client and Server to send and receive data;Finally introduce the design method and implementation process of my graduation design and running the application.
Keywords: LINUX;TCP/IP;Socket;Mysql database;C++
需求分析
本项目基于LINUX系统实现在局域网内的聊天软件,软件分为服务端和客户端,要实现的功能如下。
服务器端:
(1)能够正确的启动服务器。
(2)能够监听指定的端口,来等待用户的连接。
(3)客户端注册时能通过数据库验证用户的注册信息,并把注册结果返回给客户端。
(4)客户端登陆时能通过数据库验证用户的登陆信息,登陆成功后,把此用户的登录消息通知其他好友。
(5)登陆成功时,能够向新连接的用户发送已上线的用户名单。
(6)能够接收客户端的群聊消息请求,并能正确无误地处理请求,并把消息发送到所有已登录的客户端。
(7)能够接受客户端的私聊消息请求,并能正确无误地处理请求,并把消息发送到特定的客户端。
(8)当用户断开与服务器端地连接时,服务器能够把连接正确的断开,并把该用户退出的消息通知其他用户。
(9)能够正确的关闭服务器。
客户端:
(1)能够启动应用程序,并与服务器建立连接。
(2)登陆界面,能够把登录信息正确的发送到服务器。
(3)能够正确的处理服务器反馈的登结果信息。
(4)注册界面,能够把注册信息正确的发送到服务器。
(5)能够正确的处理服务器反馈的注册结果信息。
(6)登录以后,能够自动的更新用户列表。
(7)能够把群聊消息正确的发送到服务器。
(8)能够正确的把群聊消息显示到群聊界面。
(9)能够把私聊消息正确的发送到服务器。
(10)能够正确的把私聊消息显示到特定的聊天窗口。
(11)客户端退出时,能够把该用户的退出消息发送到服务器,并关闭所有聊天窗口。
硬件环境:
CPU:Inter(R) Core(TM) i5 2.67GHz
内存:2.00 GB
硬盘:500 G
软件环境:
操作系统:Ubuntu 12.0.4
应用软件:QT 5.0.2
目录
摘 要 i
Abstract ii
1 绪论 1
1.1 课题背景 1
1.2 目的和意义 1
1.3 研究现状 1
2 系统分析 3
2.1 系统理论基础 3
2.1.1 C/S架构 3
2.1.2 TCP 3
2.1.3 Socket 4
2.1.4 QT编程框架 6
2.2 可行性研究 10
2.3 需求分析 11
2.4 系统运行环境 11
3 系统设计 12
3.1 系统结构设计 12
3.2 客户端服务器功能设计 12
3.3 客户端设计 13
3.4 服务器端设计 14
3.5 群聊和私聊模块的设计 16
4 程序描述与详细描述 17
4.1 服务器端验证客户端的登录信息 17
4.1.1 功能及实现 17
4.1.2 技术概要 18
4.2 服务器端处理用户消息 20
4.2.1 功能及实现 20
4.2.2 技术概要 21
4.3 客户端读取服务器发送的数据 23
4.3.1 功能及实现 23
4.3.2 技术概要 25
4.4客户端用户列表的更新 25
5 系统实现 27
5.1 登录模块设计 27
5.2 注册模块设计 28
5.3 群聊模块设计 29
5.4 私聊模块设计 32
结论 34
参考文献 35
致谢 36