聊天qq模拟聊天系统实验报告

如何删除qq聊天记录  时间:2021-04-17  阅读:()

C卄网络应用程序开发

课程设计

题 目 QQ模拟聊天系统

学 院 软件学院

班 级 10级网冈络工程3班

指导 教师 钱 鸽

姓 名 谢昊天

学 号 1215134046

学年、 学期 2012~2013学年第一学期

1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .引

言. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1. 1需求分析. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.2聊天室程序的开发背景. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3

1.3 聊天室的设计目标. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .总体

设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2.1 功能要求. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4

2.2 系统主要功能和主要功能描述. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .5

3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .详细

设计. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

3.1设计流程图. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .6

3.2客户端的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7

3.3服务端的实现. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14

4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .运行

结果. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

4.1客户端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21

4.2 服务器端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

4.3 客户端登陆到服务器端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .22

4.4 进行对话. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

4.5 退出服务器端与客户端. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23

5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .心得

体会. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

6. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .参考

文献. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26

1.引言

计算机网络技术发展至今已经大大超越了人们当初的预想 无论是人们日常的工

作还是学习我们都越来越多的依靠到互联网。各种实时性的聊天娱乐软件也同时诞

生而且为我们的即时通讯带来了众多的方便比如说大家所熟知的腾讯QQ、微软的

MSN、移动的Fetion等都是做的比较成功的实时聊天工具。随着网络的日益普及

各种聊天工具也层出不穷但当我们学习了《T CP/IP协议与网络编程》这门课程之后

我们便会觉得其实要实现简单的网络通讯其实并不难。接下来的课程设计就是针对

一个简单的网络聊天程序利用MF C为开发工具实现基本的通讯功能。

1.1 需求分析 当前是数字信息时代 网络时代任何一种编辑工具都不能忽视在网络上的应用 并且随着Internet的普及和宽带技术的成熟 越来越多的用户进入网络世界中享用浏览新闻、查询信息、发送邮件、在线观看电影等服务享受网络带来的便利和办公的高效与此同时一个新型的 Web应用程序为网民之间提供了一个实时通信的功能和场所这就是聊天室。

在网络早期就开始盛行不论是B B S IRC都有类似网上聊天室的机制。 聊天室为网友提供了实时性对话的渠道是网络上极为流行的一项服务。 聊天室适用于网上会议或闲聊的一些场合。聊天室为网友提供了较好的交友环境 网友之间相互以文字交谈在形式上有点类似笔友的性质却大大节省了书信往返的时间这也是网上交友之所以如此热门的原因。

1.2 聊天室程序的开发背景近年来互连网发展日新月异 网络使空间的距离不再成为人们沟通的障碍世界各个角落的人们可以通过Internet收发邮件、实时聊天、获取最新的资讯。因此本次毕业设计以“面向连接的Win so ck网络会话程序开发”为题制作一个C/S聊天室程序通过制作该程序还能更好的学习网络socket编程的相关知识。

1.3 聊天室的设计目标

本课题是建立聊天通信模型,设计一个聊天室软件包括服务器端和客户端主要功能为 服务器端功能

1、 初始化so cket,创建服务器端。

2、 维护一个链表保存所有用户的IP地址、端口信息。

3、 接受用户传送来的聊天信息然后向链表中的所用用户转发。

4、 接受用户传送来的连接判断命令并向用户发出响应命令。 客户端功能

客户端界面上的两个文本框一个用于显示接受的聊天信息一个用来接受用户输入的聊天信息。当按下“发送”按钮时将信息发送给服务器。

通过本课题的实训设计可以比较深入的了解和掌握WINSOC控件基本属性、方法和事件理解网络聊天通信的概念输控制协议TCP进行数据交流初步掌握网络聊天通信程序的设计方法。并能巩固和扩展大学期间的学习内容进行项目的设计开发训练更好的适应社会的需求。

2.总体设计

2.1 功能要求

1、 支持多个客户端的连接在服务器和多个客户端之间进行数据传输

2、 接收客户端发送的消息并显示在一个列表框中

3、 在用户连接上后有提示显示出连接的用户名字

4、 发送信息时可以显示聊天的所有记录

2.2系统主要功能和主要功能描述 服务器端聊天程序必须能够做3件事情

1、 服务器聊天程序要在待定的端口上等待来自聊天客户的连接请求并且需要维护一个客户连接表 以记录所有成功的连接。

2、 服务器聊天程序要及时接受从各个聊天客户发送过来的信息然后把这些信息转发到一个或多个客户连接。对于公共聊天室服务器将把接受到的信息向除源端外的所有客户发送过去。

3、 服务器还要监控这些连接的状态在客户主动离开或发生故障时从列表中删除相应的表项并及时更新连接表。

这些要求可以通过CSocket类提供的功能实现。从CSocket派生出两个类CListenS o cket和CClientSo cket,它们分别用来侦听客户的连接请求和建立与客户的连接。服务器只需要一个侦听套接字CListen So cket 然后根据客户的连接请求动态创建客户套接字CClientSocket 。客户套接字的数量是不可预知的 因此需要一个列表来记录。

MF C的CPtrList类就能实现这种功能。客户端聊天程序需要完成以下几个功能

1、 客户端聊天程序要负责建立和维护与服务器的连接通过获取用户的设置尝试与

服务器的连接并且随时检测连接的状态。

2、 客户端聊天程序要把用户输入的信息及时发送到聊天服务器。一般情况下 当用

户输入一行信息并且按下回车键后聊天程序就要把这一行信息发送出去才能及

时地满足用户的交互需求。

3、 要随时准备好接受来自服务器的信息随时把接受到的信息显示出来 让用户及

时看到对方的响应。

4、 在用户退出聊天过程是要关闭与服务器的连接。 比较好的做法是提前通知服务器

或者直接给服务器发送一条退出通知使得服务器能够及时掌握客户端的连接状

态把对方客户的退出信息及时发送到对等实体上。

客户端聊天程序需要使用一个通过CSocket类派生出来的CChatSocket类

来实现。该套接字用来发送一个与服务器的连接请求和维持与服务器的连接 发送和接收聊天信息完成上述各项功能。

3.详细设计

3.1设计流程图

3.2客户端的实现

(1)首先启动Visual C++6.0利用MFC AppWizard[EXE建立一个新的MFC工程工程名为 QQ模拟聊天系统在MFCAppWizard Step 1的时候选择Dialog based即基于对话框在Step4时勾选Windows Sockets选项(如图)其他默认值下一步。

(2)客户端主要分为三个窗口第一个是连接窗口需要输入连接到服务器的相关设置信息第二个是聊天信息显示窗口该窗口显示登录服务器以来发送和接收到的消息第三个是消息编辑发送窗口需要输入你要发送的信息内容并发送。

新建一个对话框并添加各种控件如下图:

S3

服务器 端口号: 编辑

编辑

编辑

33 QQ模拟呱天球"容户握…制作谢昊天学号:1215134046

漏辑

SS回车

HostRound:美国达拉斯/洛杉矶/纽约/荷兰大硬盘服务器,1TB NVMe+4TB HDD,$179/月

hostround怎么样?大硬盘服务器,高防服务器。hostround,美国商家,2017年成立,正规注册公司(Company File #6180543),提供虚拟主机、VPS云主机、美国服务器、荷兰服务器租用等。现在有1款特价大硬盘独服,位于达拉斯,配置还不错,本月订购时包括免费 500Gbps DDoS 保护,有兴趣的可以关注一下。点击直达:hostround官方网站地址美国\荷兰独立服务器...

raksmart:香港机房服务器实测评数据分享,告诉你raksmart服务器怎么样

raksmart作为一家老牌美国机房总是被很多人问到raksmart香港服务器怎么样、raksmart好不好?其实,这也好理解。香港服务器离大陆最近、理论上是不需要备案的服务器里面速度最快的,被过多关注也就在情理之中了。本着为大家趟雷就是本站的光荣这一理念,拿了一台raksmart的香港独立服务器,简单做个测评,分享下实测的数据,仅供参考!官方网站:https://www.raksmart.com...

Gcore(75折)迈阿密E5-2623v4 CPU独立服务器

部落分享过多次G-core(gcorelabs)的产品及评测信息,以VPS主机为主,距离上一次分享商家的独立服务器还在2年多前,本月初商家针对迈阿密机房限定E5-2623v4 CPU的独立服务器推出75折优惠码,活动将在9月30日到期,这里再分享下。G-core(gcorelabs)是一家总部位于卢森堡的国外主机商,主要提供基于KVM架构的VPS主机和独立服务器租用等,数据中心包括俄罗斯、美国、日...

如何删除qq聊天记录为你推荐
participants37机动车diandian支持ipadphotoshop技术photoshop技术对哪些工作有用?tracerouteping命令和traceroute(tracert )在功能上的区别有哪些?ipad上网为什么我的ipad 显示无法连接到网络phpecho在php中 echo和print 有什么区别google图片搜索如何用google搜索空间照片google分析如何添加google analysis联通合约机iphone5联通合约机iphone5和电信合约机Iphone5哪个好
过期域名 欧洲免费vps wordpress主机 冰山互联 荷兰服务器 godaddy域名优惠码 全能主机 申请个人网页 html空间 ca4249 bgp双线 空间合租 台湾谷歌 登陆qq空间 可外链的相册 免费赚q币 架设代理服务器 cpu使用率过高怎么办 cloudflare 卡巴斯基免费版下载 更多