【work记录:c++web聊天服务器】完善muduo服务器的数据发送|实现服务端与客 ...

打印 上一主题 下一主题

主题 1541|帖子 1541|积分 4623

日期:2025.4.16 2025.4.17(破晓)

学习内容:


  • 简单的登录页面
  • 把muduo服务器里的json数据都(大部分)添加了uid,用于boost服务器发送数据给conn。
  • 大概的相识前端js
  • 目前boost服务器出现了段错误
个人总结:

本日主要的内容是把一个简单的登录页面搞了出来,大概长这个样子:

几乎直接面向AI编程了,委曲可以看懂这个大概是在写什么。然后点击登录之后就可以向后端发送消息了,其实感觉我现在办的事情已经脱离C++后端了,不如直接投入java的怀抱。
另有就是关于muduo服务器里的json数据,因为之前都是下令行,自己手打的客户端代码,大概700+行,也不必要用到uid,根据我们现在的架构,是必要一个uid来辅助boost服务器来发送数据的,也有一个弊端就是,我们也无法利用下令行来发送消息了,也是必须会是逼迫通过boost服务器来实行。
所以调试数据的发送就让AI给我跑了一个json数据发送的html,先是利用这个来简单的测试了一下json数据的发送是否可行。
当我亲眼见到写了这么久的代码,从web前端发送的消息通过了boost服务器传到了muduo服务器,然后muduo做业务,发送消息给boost,再回复到web前端,这个过程让我感觉非常的爽。
印象中一些简单的功能是可以的,但是关于redis和nginx的功能目前迟迟没有上线,目前也还没有处理管理集群服务器的情况,这是后来我们要做的。
现在boost服务器出现了段错误,当我web点击登录之后,明日起来用gdb调试一下trytry,学习一下gdb调试。
今晚的vp不太好,自己提出了许多的假思路,只能说废了工程,又废了比赛。好想躺平,,,
日期:2025.4.20

个人总结:

目前发现了段错误的问题:
起首通过只发送JSON数据发送判定了不是服务端的问题,然后通过日志调试万能大法,发现了是因为我的web前端的原因。
由于登录页面和默认页面之间必要转换,客户端与服务端之间的连接会断开,断开了连接,服务端也就会把记录客户端的UID删除掉。
所以muduo向boost发送的内容是OK的,但是boost这边却找不到客户端,所以报错了。
而在这里我sb了,开了一个变量_holding来试图解决客户端断线了之后会移除客户端的问题。
但是之后进入到默认界面,我发现竟然不停收不到服务端发来的消息,然后才意识到:现在的这个客户端已经是新连接的一个新的客户端了,而我在服务端那边保存了是之前的旧的客户端,这就导致了我发送消息的时候也是向旧客户端发送的消息,所以我这个新客户端才收不到消息啊魂淡!
只能说做题做傻了,牛客白给,现在项目也白给了是吧wochao
所以其实解决办法不难,起首,本身前端的逻辑是:假如登录成功了之后会跳转页面,然后发送一次哀求当前账号的好友和群聊(简称状态)的消息,而这个哀求状态的发送,我们只必要在服务端那里做一次更新就好了,每次哀求一次状态,就把muduo服务端里关于session的记录的uid给更新一次就好了。
这里先偷个懒,因为假如每一次哀求状态都要更新也比力费事,只必要第一次的时候更新就可以了,这次先懒得更改,后续可以考虑更新出来。
顺便关于之前muduo服务器里登录的处理也得太屎山了,应该单独拉出来写一个函数才对的,现在整的代码复用率也比力高。下次一定下次一定。

现在的页面是成功显示出来了好友列表了。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

前进之路

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表