文章目录

##前言
\qquad这学期正好有门TCP/IP 编程,乘机写了个dos下的聊天室,去年这个时候用Java写了个带GUI的多人聊天室,不过整体来看这次在对网络编程有了一定的理论基础后,这次用c++写的时候,那叫一个轻车熟路。写了多个版本的demo,在文章的最后会把demo更新描述。(对于Java版或者Demo有需要的可以在评论区回复)。
##聊天室优点与可拓展功能
###优点:
1.实现了基本的聊天功能,包括群聊与私聊
2.用户注册时使用文件做过渡,用户退出登陆时仍可保留用户信息
3.封装消息传递时格式,包括消息的生成与解析
4.友好的操作逻辑
5.多方位错误提醒

###可拓展功能
1.本次由于要求,将客户端一分为二包括接收端和发送端,虽然减少了开多线程带来的工作量,但是使整个聊天室的一体性大打折扣,于是就可以在客户端开多线程去优化。
2.这聊天室限于其类型,只是通过文档来保存用户列表,但是可以使用数据库来增加用户量增大带来的问题
3.聊天室并不支持文件发送,可以考虑后期添加
4.聊天室未对多群组,好友关系留下拓展接口,这是考虑到文件操作的局限性,如果有需求,可以做两方面考量,第一是使用数据库建立好友关系,群组关系,用户表;第二修改消息格式,拓展对添加的群组选择拓展。
##实测
###登陆界面

###注册

###聊天

###群聊

###私聊

###退出(左边为sender退出,右边为receiver退出)

##编译环境
IDE : CodeBlocks 16.01
语言:C++
运行须知:需要添加链接库,才可以运行

##后记
\qquad现附上代码,有空在补上内部实现的亮点与不足,有什么问题,可以随时私信。有空可以follow下博主的github(丑不要碧莲,有打广告).最后附上下载链接,喜欢点赞就行。(csdn必须要c币,github免费下载)

##下载入口
csdn下载入口

github下载入口

基于UDP的dos多人聊天室相关推荐

  1. 基于UDP的简易多人聊天室

    1.服务器 1.服务器采用了线程进行编写,这样可以共享链表,比较简单. 2.实现思路:由客户端发送消息(内容包含:客户端自定义的名字.客户端发送消息的类别.客户端发送的消息内容),服务器接收到消息后根 ...

  2. python实现简易聊天需要登录博客园zip下载_Python基于Socket实现简易多人聊天室的示例代码...

    前言 套接字(Sockets)是双向通信信道的端点. 套接字可以在一个进程内,在同一机器上的进程之间,或者在不同主机的进程之间进行通信,主机可以是任何一台有连接互联网的机器. 套接字可以通过多种不同的 ...

  3. 网络编程套接字(上篇)UDP实现简易多人聊天室

    目录 背景知识 主机间通信本质 socket 端口号特点: 为什么不用进程pid? 网络字节序 socket编程接口API sockaddr结构 ​编辑 简单UDP网络程序 了解UDP协议 简易多人聊 ...

  4. java 网络编程 聊天_Java——网络编程(实现基于命令行的多人聊天室)

    目录: 1.ISO和TCP/IP分层模型 2.IP协议 3.TCP/UDP协议 4.基于TCP的网络编程 5.基于UDP的网络编程 6.基于TCP的多线程的聊天室的实现 1.ISO和TCP/IP分层模 ...

  5. Java——网络编程(实现基于命令行的多人聊天室)

    2019独角兽企业重金招聘Python工程师标准>>> 目录: 1.ISO和TCP/IP分层模型 2.IP协议 3.TCP/UDP协议 4.基于TCP的网络编程 5.基于UDP的网络 ...

  6. C 基于UDP实现一个简易的聊天室

    引言 本文是围绕Linux udp api 构建一个简易的多人聊天室.重点看思路,帮助我们加深 对udp开发中一些api了解.相对而言udp socket开发相比tcp socket开发注意的细节要少 ...

  7. 基于Netty框架的多人聊天室

    因为产品升级,需要将原生的Java Socket通信改为Netty框架所以学习了Netty,这是一个多人聊天室,就算是第一个小作品吧. 使用的时候先开启服务端,之后开启任意多个客户端,即可实现多人聊天 ...

  8. 基于socket实现的多人聊天室项目(python)

    最近做了一个多人聊天室项目,主要目的是练习和巩固socket编程. 在开始之前,可以先了解一下socket的TCP三次握手和四次挥手. 参考:https://blog.csdn.net/luoyoub ...

  9. python多人聊天室_Python基于Socket实现简易多人聊天室

    前言 套接字(Sockets)是双向通信信道的端点. 套接字可以在一个进程内,在同一机器上的进程之间,或者在不同主机的进程之间进行通信,主机可以是任何一台有连接互联网的机器. 套接字可以通过多种不同的 ...

最新文章

  1. 记录一个比较完整的python项目分析架构
  2. 使用脑电图慢皮层电位重建3D空间中的手,肘和肩的实际和想象的轨迹
  3. Java:网络编程之UDP的使用
  4. 你好~520|Python花式表白的几种姿势
  5. 什么 Leader 值得追随?
  6. 线性代数五之高斯消元——[SDOI2010]外星千足虫,[HNOI2013]游走,[HNOI2011]XOR和路径,[hdu 4035]Maze
  7. python色标_Python: 气象绘图实例之台风
  8. inline函数_逼近函数(2)
  9. linux发行版_2020年最漂亮的7个Linux发行版
  10. matplotlib库使用
  11. java eclipse 下载_JAVA下载安装及eclipse下载安装
  12. 匈牙利算法和KM算法的理解
  13. 2018-2019-1 20165211 20165230 20165208 实验二 固件程序设计-1
  14. python打开ie浏览器_python-IE浏览器调用
  15. aes ccm模式 java_AES_GCM和AES_CCM的选择
  16. GPRS PDP APN
  17. 计算机专业考研410分,从一个中专生到考研410分的历程
  18. 新方法使虚拟现实中的无限行走变为可能
  19. iOS APP调取短信 发送消息给其他人
  20. python爬虫 豆瓣影评的爬取cookies实现自动登录账号

热门文章

  1. 学了python可以做什么兼职,学python真的能做兼职吗?
  2. 【软件测试】期末复习题
  3. 变频电源IGBT驱动和保护电路的设计
  4. python海龟怎么隐藏_Turtle库学习--海龟可见性与外观
  5. JavaScript 判断是否为数字的几种方式
  6. html5录像特效,6个迷人而令人惊叹的HTML5动画特效
  7. PowerPoint2003(1)_模板与母版
  8. 微型计算机安装顺序调整记录表,北京理工大学实验一实验报告表.docx
  9. 思维导图TheBrain基础实操教程——查找、添加附件和链接
  10. 英特尔傲腾,让数据管理不再纠结