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

在凡科上做的网站无法加载出来红色博客网站源码

在凡科上做的网站无法加载出来,红色博客网站源码,任何东西都能搜出来的软件,公司网络营销策略接着[集群聊天服务器]----(六)业务模块之用户注册、登录、退出以及客户端异常退出函数中对于业务模块的用户注册、登录、退出以及客户端异常退出函数的剖析#xff0c;现在我们对点对点聊天以及添加好友的实现进行剖析。 点对点聊天 当客户端输入msgidONE_CHAT_MSG时#x…接着[集群聊天服务器]----(六)业务模块之用户注册、登录、退出以及客户端异常退出函数中对于业务模块的用户注册、登录、退出以及客户端异常退出函数的剖析现在我们对点对点聊天以及添加好友的实现进行剖析。 点对点聊天 当客户端输入msgidONE_CHAT_MSG时ChatService::ChatService()中会回调ChatService::oneChat()函数进行处理 void ChatService::oneChat(const TcpConnectionPtr conn, json js, Timestamp time) {int toid js[toid].getint(); // 对方的id{//在一台主机上lock_guardmutex lock(_connMutex); // 线程安全auto it _userConnMap.find(toid);if (it ! _userConnMap.end()){// toid 在线 转发消息 服务器主动推送消息给toid用户it-second-send(js.dump());return;}}// 查询toid是否在线User user _userModel.query(toid);//在另一台电脑上if (user.getState() online){_redis.publish(toid, js.dump());return;}// toid 不在线 存储离线消息_offlineMsgModel.insert(toid, js.dump()); }通过 JSON 对象反序列结果寻找toid对应的值找到用户想要对话的用户并在_userConnMap中进行查找是否有此对象如果用户在一台主机并且处于在线状态就发送想要发送的消息如果不在同一台主机根据toid调用_userModel在user表中进行查看对方是否在线如果在线就通过redis发布消息不在线就存储其离线消息 添加好友 当客户端输入msgidADD_FRIEND_MSG时ChatService::ChatService()中会回调ChatService::addFriend()函数进行处理 void ChatService::addFriend(const TcpConnectionPtr conn, json js, Timestamp time) {int userid js[id].getint();int friendid js[friendid].getint();// 存储好友信息_friendModel.insert(userid, friendid); }根据客户端获取的用户id以及想要添加的好友id在好友表中进行存储 好友消息FriendModel //添加好友关系 void insert(int userid, int friendid);//返回用户好友列表 friendidfriendname id vectorUser query(int userid);添加好友关系 void FriendModel::insert(int userid, int friendid) {char sql[1024] {0};sprintf(sql, insert into friend values(%d,%d), userid, friendid);MySQL mysql;// 连接数据库if (mysql.connect()){// 更新数据库语句mysql.update(sql);} }组装sql语句根据用户id以及好友id userid, friendid在friend表中进行更改 返回用户好友列表 vectorUser FriendModel::query(int userid) {char sql[1024] {0};sprintf(sql, select a.id,a.name,a.state from user a inner join friend b on b.friendid a.id where b.userid%d, userid);vectorUser vec;MySQL mysql;// 连接数据库if (mysql.connect()){MYSQL_RES *res mysql.query(sql); if (res ! nullptr){MYSQL_ROW row ;while((row mysql_fetch_row(res)) ! nullptr) {User user;user.setId(atoi(row[0]));user.setName(row[1]);user.setState(row[2]);vec.push_back(user);}mysql_free_result(res);return vec;}}return vec;}组装sql语句根据userid在user 和 friend表进行联合查询好友的id name state根据sql语句调用MySQL::query()语句进行查找好友然后调用mysql_fetch_row()函数查找对应的行row是MYSQL_ROW类型可以根据下标找到对应的值并把id name state放入vec中返回注意释放资源 离线消息类OfflineMsgModel //存储用户的离线消息 void insert(int userid, string msg);//删除用户的离线消息 void remove(int userid);//查询用户的离线消息 vectorstring query(int userid);存储用户的离线消息 void OfflineMsgModel::insert(int userid, string msg) {char sql[1024] {0};sprintf(sql, insert into offlinemessage values(%d,%s), userid, msg.c_str());MySQL mysql;// 连接数据库if (mysql.connect()){// 更新数据库语句mysql.update(sql);} } 组装sql语句根据userid像offlinemessage表中添加离线消息msg连接数据库并进行更新 删除用户的离线消息 在用户登录以后需要显示离线消息并删除用户的离线消息表 void OfflineMsgModel::remove(int userid) {char sql[1024] {0};sprintf(sql, delete from offlinemessage where userid%d, userid);MySQL mysql;// 连接数据库if (mysql.connect()){// 更新数据库语句mysql.update(sql);} }组装sql语句根据userid在offlinemessage表中删除相关消息连接数据库并进行更新 查询用户的离线消息 vectorstring OfflineMsgModel::query(int userid) {char sql[1024] {0};sprintf(sql, select message from offlinemessage where userid %d, userid);vectorstring vec;MySQL mysql;// 连接数据库if (mysql.connect()){// 更新数据库语句MYSQL_RES *res mysql.query(sql); // 指针 内部动态内存开辟 需要释放资源if (res ! nullptr){// 获取行 根据主键查//把userid用户的所有离线消息放入vec中返回MYSQL_ROW row ;while((row mysql_fetch_row(res)) ! nullptr) {vec.push_back(row[0]);}mysql_free_result(res);return vec;}}return vec; }组装sql语句根据userid在offlinemessage表查找离线消息根据sql语句调用MySQL::query()语句进行查找好友然后调用mysql_fetch_row()函数查找对应的行row是MYSQL_ROW类型可以根据下标找到对应的值并把离线消息放入vec中返回注意释放资源 好了~ 关于业务模块的一对一聊天、添加好友函数、好友类以及离线消息类的剖析就到此结束了下一节我们将对群组进行剖析下一节见~~
http://www.dnsts.com.cn/news/34533.html

相关文章:

  • 鞍山云网站建设银行网站驱动
  • pr模板免费下载网站长沙设计网站多少钱
  • 做网站有什么软件wordpress插件一键安装
  • 做视频网站要多大的服务器四川电子商务网站
  • 做网站有底薪吗seo网站架构
  • 做app护肤网站公司装修设计公司
  • fm网站开发网站访问速度跟服务器cpu和内存和带宽哪个重要
  • 网站建设需要资料wordpress加载不出图
  • 长春建网站一般要多少钱纸箱 技术支持 东莞网站建设
  • 网上做兼职的网站有哪些工作十大免费观看软件下载
  • 北京网站建设哪家公司好手机网站推广方案
  • wordpress可以建立多个站点金山做网站
  • 珠海工商年检到哪个网站做建设银行网银登录入口
  • 潍坊网站制作培训服装设计专业主要学什么
  • 可以自己做课程的网站四川省建设监理协会官方网站
  • 私人网站怎么注册十大免费推广平台
  • 网站开发的体会上海做网站的企业
  • 电商网站建设推荐ppt的制作方法
  • 旅游网站设计与实现中山微网站建设多少钱
  • 软件下载网站建设免费wordpress
  • 网站开发 技术路线wordpress在线查看word插件
  • 爱搜索中级网站建设电商线上培训
  • 湖州网站建设培训电脑网站 发展移动端
  • 北京哪里有专门做网站的地方商城网站建设需要
  • 视频网站后台管理系统个人电脑做网站服务器网站
  • 如何利用模板做网站汕头建站程序
  • 行业网站建设多少钱盘县做会计兼职的网站
  • 17一起做网站童装运城学院教务网络管理系统
  • 保定哪个公司做网站好静态网页框架用什么软件做
  • 医美的网站主页怎么做成都网站建设优化公司电话