当前位置: 首页 > news >正文

网站开发和软件开发那个简单网站如何被收录情况

网站开发和软件开发那个简单,网站如何被收录情况,淘宝加盟网站建设,c2c模式的特点有哪些服务器端应检测到客户端是否异常退出#xff0c;因此本节来实现客户端异常退出#xff0c;项目流程见后文 一、客户端异常退出业务流程 #xff08;1#xff09;在业务模块定义处理客户端异常退出的函数 #xff08;2#xff09;集群聊天服务器项目(八#xff09;提到…服务器端应检测到客户端是否异常退出因此本节来实现客户端异常退出项目流程见后文 一、客户端异常退出业务流程 1在业务模块定义处理客户端异常退出的函数 2集群聊天服务器项目(八提到哈希表_userConnMap存储用户的id和通信连接若客户端异常退出表示该客户端登录用户已经下线那么需要对_userConnMap中对应用户的在线连接进行删除。由于_userConnMap是线程不安全的操纵需加互斥锁访问。 3依次遍历哈希表_userConnMap判断是否有通信连接同退出的客户端连接一致 若一致则依据通信连接对应的用户id删除_userConnMap中通信连接 由于客户端异常退出表示登录用户已经下线更新用户状态为offline 二、客户端异常退出业务代码实现 在include/server/chatservice.hpp中创建public公有权限函数处理客户端异常退出服务 #ifndef CHATSERVICE_H #define CHATSERVICE_H#include muduo/net/TcpConnection.h #include unordered_map//一个消息ID映射一个事件处理 #include functional #include mutex using namespace std; using namespace muduo; using namespace muduo::net;#include usermodel.hpp #include json.hpp using json nlohmann::json;//表示处理消息的事件回调方法类型事件处理器派发3个东西 using MsgHandler std::functionvoid(const TcpConnectionPtr conn, json js, Timestamp);//聊天服务器业务类 class ChatService { public://获取单例对象的接口函数static ChatService *instance();//处理登录业务void login(const TcpConnectionPtr conn, json js, Timestamp time);//处理注册业务void reg(const TcpConnectionPtr conn, json js, Timestamp time);//处理客户端异常退出void clientCloseException(const TcpConnectionPtr conn);//获取消息对应的处理器MsgHandler getHandler(int msgid); private:ChatService();//单例 //存储消息id和其对应的业务处理方法消息处理器的一个表写消息id对应的处理操作 unordered_mapint, MsgHandler _msgHandlerMap;//存储用户的通信连接unordered_mapint,TcpConnectionPtr _userConnMap;//定义互斥锁保证_userConnMap的线程安全mutex _connMutex;//数据操作类对象UserModel _userModel;offlineMsgModel _offlineMsgModel;};#endif在chatservice.cpp中进行实现 // 处理客户端异常退出 void ChatService::clientCloseException(const TcpConnectionPtr conn) {User user;{lock_guardmutex lock(_connMutex);for (auto it _userConnMap.begin(); it ! _userConnMap.end(); it){if (it-second conn){user.setId(it-first);// 从map表中删除用户的连接信息_userConnMap.erase(it);break;}}}// 更新用户的状态信息if (user.getId() ! -1){user.setState(offline);_userModel.updateState(user);} } 三、功能验证 启动ChatServer服务器程序 查看数据库用户当前状态 所有用户均不在线 使用张三的账号进行登录可以发现张三登录成功底层数据库显示在线 张三用户异常退出可以看到成功捕获到退出信息了并在数据库中进行操作 查看数据库发现张三下线了 客户端异常退出业务验证成功 如果有问题还请及时联系我感谢大家的批评与指正谢谢~ 项目流程 1、项目环境搭建  C项目——集群聊天服务器项目(一)项目介绍、环境搭建、Boost库安装、Muduo库安装、Linux与vscode配置_c集群聊天服务器-CSDN博客 2、Json第三方库介绍 C项目——集群聊天服务器项目(二)Json第三方库-CSDN博客 3、muduo网络库介绍 C项目——集群聊天服务器项目(三)muduo网络库-CSDN博客 4、MySQL数据库创建 C项目——集群聊天服务器项目(四)MySQL数据库-CSDN博客 5、网络模块与业务模块代码编写 C项目——集群聊天服务器项目(五)网络模块与业务模块-CSDN博客 6、MySQL模块编写 C项目——集群聊天服务器项目(六)MySQL模块-CSDN博客 7、Model层设计、注册业务实现 C项目——集群聊天服务器项目(七)Model层设计、注册业务实现-CSDN博客 8、用户登录业务 C项目——集群聊天服务器项目(八用户登录业务-CSDN博客
http://www.dnsts.com.cn/news/165547.html

相关文章:

  • 建设银行临江市支行网站qq降龙是哪个公司开发的
  • 下载爱南宁官方网站江苏省交通运输厅门户网站建设管理办法
  • 免费的行情网站app软件大全网站建设需要哪些费用
  • 集团网站下分网站 模板wordpress开启多站点好处
  • 手机网站拦截怎么解除不用wordpress 知乎
  • win7做本地网站连云港网站建设价位
  • 做电器推广的网站青岛推广信息
  • 网站后台文章列表里的每篇文章的文字全部乱码怎么办?网站开发有几个阶段
  • 山西省城乡住房和建设厅网站首页西安seo关键词排名优化
  • 礼物说网站模板青海省wap网站建设公司
  • 普洱市网站建设网站装修的代码怎么做
  • html5 手机网站 模版wordpress后台自定义页面
  • 河北唐山网站建设爱站查询工具
  • 互联网建站谷歌关键词推广怎么做
  • 推荐聊城做网站国家企业信用信息公示系统官网全国
  • 网络公司如何开网站湖南长沙旅游十大必去景区
  • 瑞金网站建设推广wordpress防攻击
  • 做网站的linux程序代码vs怎么做网站
  • 小说网站如何做书源一女被多男做的视频网站
  • 和京东一样的网站建设网站是做手机版好还是pc版好
  • 手机网站的推广工程师培训
  • 建设营销型网站广州网站建设里怎么写文章
  • 毕节网站建设公司有云服务器和域名怎么做网站
  • 网站开发可能存在的困难新闻国际最新消息
  • 北京中小型网站建设wordpress主题页添加
  • 免费建设一个可以访问的网站网站建设方案书要写吗
  • 做亚克力在那个网站上好seo网站推广是什么意思
  • 企业网站备案拍照专业软件定制开发公司
  • wap网站 什么意思开发公司只给开具收据不能认定合同有效案例
  • 网站内部结构优化软件开发前端和后端