【Qt聊天客户端-min_Bug】客户端请求失败分析

1. 问题复现

问题出现的背景:编写同意好友请求websocket通知功能时,电脑异常断电后,重启项目出现该为Bug

  • 服务端日志
  • 客户端发送请求
  • 客户端日志

2. 排查

307行日志正常打印,说明请求发送的没有问题,开始排查连接问题

服务端解析请求的日志没有打印,那么就证明服务端根本没有接收到这个请求

  • 那么怀疑客户端根本就没有正常连接服务端,进一步检查连接问题
  • 怀疑服务端代码中没有成功监听8000端口,从而导致客户端不能够成功连接服务器
    • 判断逻辑,如果此处监听失败,那么Listen就会返回0,最后ret == 8000也就是false,所以最终就会导致服务器启动失败
  • 经过上面的排查,排除服务器启动等问题,进一步检查客户端发送请求后,服务端的路由是否设置一致
  • 如果没有配置正确的路由映射,那么就很有可能导致客户端发送的代码无法被服务器进行处理,最终导致连接关闭的问题

检查后该环节没有问题

  • 最终经排查,根源问题是在于8000端口被其他应用程序占用而导致
  • 下面关闭8000端口的应用程序后,运行验证

3. 总结反思

连接过程的重要节点都需要打上日志,当出现问题的时候可以快速找到问题;其次在开发过程中,其一是需要及时备份自己开发的版本,防止突发情况,导致程序无法恢复;最后在遇到连接相关的问题时,优先考虑网络层面出现了问题,例如端口号占用以及网络防火墙等因素。

相关推荐
神仙别闹4 小时前
基于QT(C++)实现学本科教务系统(URP系统)
数据库·c++·qt
谁动了我的代码?6 小时前
QT<34> 利用线程池处理耗时任务以及回调函数的使用
开发语言·qt
木心爱编程8 小时前
【Qt 5.14.2 新手实战】QTC++入门筑基——按钮与标签联动:QPushButton + QLabel 实现图片切换器
java·c++·qt
小新1108 小时前
vs2022+Qt插件初体验,创建带 UI 界面的 Qt 项目
开发语言·qt·ui
十五年专注C++开发9 小时前
Qt实现多语言原理和实践详解
开发语言·c++·qt·多语言
神仙别闹10 小时前
基于QT(C++)实现的翻金币游戏
c++·qt·游戏
月上林梢11 小时前
QT圆形加载进度条
数据库·c++·qt·进度条
A0_張張12 小时前
记录一个PDF盖章工具(PyQt5 + PyMuPDF)
开发语言·python·qt·pdf
淼淼76312 小时前
工厂方法模式
开发语言·c++·windows·qt·工厂方法模式
钱彬 (Qian Bin)12 小时前
项目实践11—全球证件智能识别系统(切换为PostgreSQL数据库)
人工智能·qt·fastapi