基于MFC的仿QQ聊天室(2020)

有幸学习过网络编程的一些知识,出于对编程的热爱,把曾经的一次简单实践编程作业进行了自定义的完成。
编程所需:
编程工具为VS 2010,需要掌握MFC的基本操作以及网络编程的基本原理,对windows套接字有一定理解。
注:本文不提供开发教程,只提供使用步骤、exe文件以及源码,我想对于有一定开发基础的人来说足够了。

主要的功能实现如下:

服务器端:
1.在线人数和列表、昵称显示;
2.群公告;
3.服务器日志、全局消息;
4.历史记录自动保存;
功能截图:

客户端:
1.昵称设置;
2.私聊、群聊;
3.在线用户列表;
4.登录日志;
5.历史记录自动保存:
客户端截图:

使用演示及必要说明:
历史记录说明:
客户端中包括日志、群聊和私聊消息;服务器中包括日志和全局消息。这些记录都是在断开连接后自动保存,若需要删除可在txt文件中手动删除。如图(仅以客户端为例):

以下,做操作演示
启动一次服务器、启动两次客户端,服务器端口自行选择合适的(需要注意不要与常用端口号冲突,这些涉及到计算机网络请自行百度,建议大于1024)即可,客户端端口设置需与服务器端口一致才可连接成功。由于在本机上演示,故地址选择127.0.0.1。

1.启动服务器:

2.启动两个客户端并连接,由服务器发送公告:

3.群聊(你好11发起,无需设置私聊ID,输入消息点击群发即可):

4.私聊(你好11发起,必须设置私聊ID,输入消息点击私发):

注:点击断开才可以自动保存记录;
5.历史记录
点击读取按钮,如图:

6.查看(任选一个即可)

源码下载:
MFC聊天室

网络编程-基于MFC的仿QQ聊天室-2020相关推荐

  1. java聊天程序论文_【基于java的仿qq聊天程序的设计与实现论文最终版材料】

    基于java的仿qq聊天程序的设计与实现(论文)(最终版) <基于java的仿qq聊天程序的设计与实现(论文).doc>由会员分享,可免费在线阅读全文,更多与<基于java的仿qq聊 ...

  2. java仿qq群聊_[转载]仿QQ聊天室群聊的练习心得

    javase的学习即将告一段落,作为最后的一个项目练习,仿聊天室的程序编写让我很是头疼了一阵子.说起来还是自己java基础不牢的缘故导致的,虽然整体框架都已经很清晰了但是实际编写过程中却依然磕磕绊绊, ...

  3. c++/MFC CSocket仿QQ聊天软件,实现1对1聊天,群聊

    学习,c++有2个星期了.本来,本人是做php出身的.做php快2年了,最近身边多了很多高手.让自己对c开始感兴趣了,就开始学习c++了.首先接触的就是mfc.前几天,看到了一个博文,是有关,mfc网 ...

  4. 基于 vue.js 的仿QQ聊天室

    简介 这是一款基于 vue.js 开发的聊天室组件库,在提供基础封装的同时,最大程度的增加扩展性. 下面是效果演示图: MChat组件效果图: IChat组件效果图: 如何安装 使用 npm 安装 n ...

  5. win32 API &winsock c++架构实现仿QQ聊天室

    由于时间紧迫,我决定学习opengl的同时学习winsock,看了两个星期的windows socket编程,发现动手比看书效果好啊,于是,我决定写一个QQ聊天室的小程序,仿照书上的服务器端和客户端代 ...

  6. NIO网络编程实战之简单多人聊天室

    NIO网络编程实战 利用NIO编程知识,实现多人聊天室. 1. NIO编程实现步骤 第一步:创建Selector 第二步:创建ServerSocketChannel,并绑定监听端口 第三步:将Chan ...

  7. Linux下后台服务器开发_基于多线程的一对一QQ聊天室

    废话不多说直接上干货 1.目标 在实现回声服务器和客户端后 ,基于多线程设计一对一的聊天室 2.功能 在本机上实现客户端与服务器的实时聊天测试 以达到练习强化socket通信/多线程技术的目的 3.测 ...

  8. vue仿QQ聊天室|vue聊天实例,直播聊天室

    图片压缩 百亿站点 基于vue2.0+vue-cli+vuex+vue-router+webpack+es6+wcPop等技术开发的仿微信聊天界面|仿微信聊天室vue-chatRoom,实现了微信聊天 ...

  9. [源码和文档分享]基于java 的仿QQ聊天工具

    一 需求分析 本系统是基于java开发的聊天室.有用户注册.用户登陆.修改密码.忘记密码.添加好友.用户聊天.群聊功能.如果服务器还没有启动,则客户端是不可以登陆.注册.忘记密码,如果在运行过程中,服 ...

最新文章

  1. 从技术上解读大数据的应用现状和开源未来
  2. System.Transactions事务超时设置
  3. 代理模式coding-静态代理
  4. python中的常量_Python中的变量和常量
  5. 邻接矩阵实现图的深度优先搜索(1)
  6. 设计模式(五)行为型模式
  7. linux下用ntp对时
  8. LeetCode(832)——翻转图像(JavaScript)
  9. [转]SQL Server 阻止了对组件 /'Ad Hoc Distributed Queries/' 的访问
  10. 基于图灵api的Python机器人
  11. 浅谈iOS中的蓝牙技术(二) CoreBluetooth
  12. 华为NP课程笔记22-防火墙
  13. 人工智能认知技术,在各行业的应用介绍
  14. 常见的meta标签用法
  15. 【ORACLE】详解oracle数据库UTL_ENCODE包各个函数的模拟算法
  16. docker镜像的获取删除和查看镜像信息历史记录清理残余镜像
  17. MongoDB中balancer操作
  18. 迄今见过的最好的职业规划文章
  19. Linux磁盘管理基础——分区(MBR分区格式)
  20. windows xp系统本地磁盘图标发生变化——5种解决方法

热门文章

  1. python如何生成多个随机数的列表
  2. 微积分知识点回顾与总结(十):级数
  3. 你的软件也能挣钱 共享软件走向国际指南
  4. 拆分list的通用方法
  5. 怎么让优酷视频在网页中自动播放方法
  6. python官网选择哪个_python官网安装挑选哪个?
  7. rt-thread 学习(二)外部中断 添加头文件 延时函数
  8. 华人民共和国道路交通安全法
  9. 计算机word怎么设置页眉,在Word中插入不同页眉的技巧-word技巧-电脑技巧收藏家...
  10. 实用 Windows 软件系列分享(三)