基于 C/S 架构的聊天室设计与实现(C++)

上传者: 54707168 | 上传时间: 2021-06-21 14:03:40 | 文件大小: 1.16MB | 文件类型: RAR
C++
本程序为基于 C/S 的网络聊天室系统,使用 Linux 网络编程作为服务器,使用 QT 编程作为客户端。 客户端通过输入 IP 地址、端口号、Email、聊天名称、聊天组号连接到服务器, 用户通过客户端发送消息,同时接收来自相同组其他客户端发送的消息,获取当前在 线用户信息,通知新用户的上线和用户的下线,实现群聊功能。 服务器负责管理用户的连接、发送消息与退出,有新用户建立连接时,记录新用 户信息,并向同组其他客户端广播;用户退出时,清除用户信息,并向同组其他客户 端广播离开信息;当有用户发送消息时,向同组其他客户端广播。

文件下载

资源详情

[{"title":"( 71 个子文件 1.16MB ) 基于 C/S 架构的聊天室设计与实现(C++)","children":[{"title":"SoftwareArchitecture","children":[{"title":"qt client","children":[{"title":"serverjson.h <span style='color:#111;'> 3.41KB </span>","children":null,"spread":false},{"title":"res.qrc <span style='color:#111;'> 105B </span>","children":null,"spread":false},{"title":"qt_client.pro.user <span style='color:#111;'> 23.97KB </span>","children":null,"spread":false},{"title":"chatwindow.cpp <span style='color:#111;'> 5.71KB </span>","children":null,"spread":false},{"title":"chattcpsocket.cpp <span style='color:#111;'> 2.13KB </span>","children":null,"spread":false},{"title":"group.png <span style='color:#111;'> 2.83KB </span>","children":null,"spread":false},{"title":"chatwindow.h <span style='color:#111;'> 1.13KB </span>","children":null,"spread":false},{"title":"chatwindow.ui <span style='color:#111;'> 3.23KB </span>","children":null,"spread":false},{"title":"main.cpp <span style='color:#111;'> 305B </span>","children":null,"spread":false},{"title":"mainwindow.ui <span style='color:#111;'> 4.37KB </span>","children":null,"spread":false},{"title":"mainwindow.cpp <span style='color:#111;'> 3.93KB </span>","children":null,"spread":false},{"title":"qt_client.pro <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"mainwindow.h <span style='color:#111;'> 714B </span>","children":null,"spread":false},{"title":"clientjson.h <span style='color:#111;'> 2.63KB </span>","children":null,"spread":false},{"title":"chattcpsocket.h <span style='color:#111;'> 1.23KB </span>","children":null,"spread":false}],"spread":false},{"title":"课程设计报告.pdf <span style='color:#111;'> 787.69KB </span>","children":null,"spread":false},{"title":"linux server","children":[{"title":"access","children":[{"title":"AccessClient.h <span style='color:#111;'> 3.25KB </span>","children":null,"spread":false},{"title":"ClientAccessInfo.h <span style='color:#111;'> 1002B </span>","children":null,"spread":false},{"title":"ClientAccessInfo.cpp <span style='color:#111;'> 1.15KB </span>","children":null,"spread":false},{"title":"AccessClient.cpp <span style='color:#111;'> 11.12KB </span>","children":null,"spread":false}],"spread":true},{"title":"server <span style='color:#111;'> 1.49MB </span>","children":null,"spread":false},{"title":"dao","children":[{"title":"ClientInfo.h <span style='color:#111;'> 306B </span>","children":null,"spread":false},{"title":"OnlineUserInfoDaoImpl.h <span style='color:#111;'> 1.16KB </span>","children":null,"spread":false},{"title":"IOnlineUserInfoDao.h <span style='color:#111;'> 1.04KB </span>","children":null,"spread":false},{"title":"OnlineUserInfoDaoImpl.cpp <span style='color:#111;'> 2.98KB </span>","children":null,"spread":false}],"spread":true},{"title":"include","children":[{"title":"rapidjson","children":[{"title":"document.h <span style='color:#111;'> 115.31KB </span>","children":null,"spread":false},{"title":"reader.h <span style='color:#111;'> 90.97KB </span>","children":null,"spread":false},{"title":"cursorstreamwrapper.h <span style='color:#111;'> 2.23KB </span>","children":null,"spread":false},{"title":"prettywriter.h <span style='color:#111;'> 10.26KB </span>","children":null,"spread":false},{"title":"allocators.h <span style='color:#111;'> 10.42KB </span>","children":null,"spread":false},{"title":"internal","children":[{"title":"strtod.h <span style='color:#111;'> 8.78KB </span>","children":null,"spread":false},{"title":"itoa.h <span style='color:#111;'> 9.89KB </span>","children":null,"spread":false},{"title":"pow10.h <span style='color:#111;'> 3.51KB </span>","children":null,"spread":false},{"title":"strfunc.h <span style='color:#111;'> 2.15KB </span>","children":null,"spread":false},{"title":"regex.h <span style='color:#111;'> 25.48KB </span>","children":null,"spread":false},{"title":"diyfp.h <span style='color:#111;'> 11.71KB </span>","children":null,"spread":false},{"title":"ieee754.h <span style='color:#111;'> 2.92KB </span>","children":null,"spread":false},{"title":"meta.h <span style='color:#111;'> 6.49KB </span>","children":null,"spread":false},{"title":"dtoa.h <span style='color:#111;'> 7.93KB </span>","children":null,"spread":false},{"title":"biginteger.h <span style='color:#111;'> 8.92KB </span>","children":null,"spread":false},{"title":"swap.h <span style='color:#111;'> 1.39KB </span>","children":null,"spread":false},{"title":"stack.h <span style='color:#111;'> 7.02KB </span>","children":null,"spread":false}],"spread":false},{"title":"schema.h <span style='color:#111;'> 101.26KB </span>","children":null,"spread":false},{"title":"fwd.h <span style='color:#111;'> 3.94KB </span>","children":null,"spread":false},{"title":"ostreamwrapper.h <span style='color:#111;'> 2.28KB </span>","children":null,"spread":false},{"title":"encodedstream.h <span style='color:#111;'> 10.43KB </span>","children":null,"spread":false},{"title":"error","children":[{"title":"en.h <span style='color:#111;'> 3.78KB </span>","children":null,"spread":false},{"title":"error.h <span style='color:#111;'> 6.07KB </span>","children":null,"spread":false}],"spread":false},{"title":"encodings.h <span style='color:#111;'> 28.59KB </span>","children":null,"spread":false},{"title":"filereadstream.h <span style='color:#111;'> 2.93KB </span>","children":null,"spread":false},{"title":"memorybuffer.h <span style='color:#111;'> 2.50KB </span>","children":null,"spread":false},{"title":"msinttypes","children":[{"title":"stdint.h <span style='color:#111;'> 9.17KB </span>","children":null,"spread":false},{"title":"inttypes.h <span style='color:#111;'> 8.18KB </span>","children":null,"spread":false}],"spread":false},{"title":"istreamwrapper.h <span style='color:#111;'> 3.99KB </span>","children":null,"spread":false},{"title":"writer.h <span style='color:#111;'> 26.26KB </span>","children":null,"spread":false},{"title":"pointer.h <span style='color:#111;'> 59.35KB </span>","children":null,"spread":false},{"title":"rapidjson.h <span style='color:#111;'> 22.64KB </span>","children":null,"spread":false},{"title":"stream.h <span style='color:#111;'> 6.59KB </span>","children":null,"spread":false},{"title":"memorystream.h <span style='color:#111;'> 2.60KB </span>","children":null,"spread":false},{"title":"stringbuffer.h <span style='color:#111;'> 3.90KB </span>","children":null,"spread":false},{"title":"filewritestream.h <span style='color:#111;'> 3.07KB </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":"main.cpp <span style='color:#111;'> 515B </span>","children":null,"spread":false},{"title":"CMakeLists.txt <span style='color:#111;'> 540B </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 409B </span>","children":null,"spread":false},{"title":"service","children":[{"title":"IChatroomService.h <span style='color:#111;'> 1.56KB </span>","children":null,"spread":false},{"title":"ChatroomServiceImpl.h <span style='color:#111;'> 862B </span>","children":null,"spread":false},{"title":"ChatroomServiceImpl.cpp <span style='color:#111;'> 5.27KB </span>","children":null,"spread":false},{"title":"ServerToClientMsg.h <span style='color:#111;'> 5.79KB </span>","children":null,"spread":false}],"spread":true},{"title":"util","children":[{"title":"ClientJsonMsgParser.h <span style='color:#111;'> 2.13KB </span>","children":null,"spread":false},{"title":"SysConfig.h <span style='color:#111;'> 1.00KB </span>","children":null,"spread":false}],"spread":true},{"title":"config.json <span style='color:#111;'> 39B </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明