千家信息网

IM系统怎么调试TCP协议

发表于:2025-02-02 作者:千家信息网编辑
千家信息网最后更新 2025年02月02日,这篇文章主要介绍"IM系统怎么调试TCP协议",在日常操作中,相信很多人在IM系统怎么调试TCP协议问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"IM系统怎么调试TCP
千家信息网最后更新 2025年02月02日IM系统怎么调试TCP协议

这篇文章主要介绍"IM系统怎么调试TCP协议",在日常操作中,相信很多人在IM系统怎么调试TCP协议问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"IM系统怎么调试TCP协议"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

最近负责瓜子IM系统开发。客户端选用了微信开源的Mars库。定义通讯协议如下图。

20字节的header,包括headLength包头长度,clientVersion客户端版本,cmdId命令Id号,seq消息序列号,bodyLength消息体长度;消息内容body长度由header中的bodyLength标识。

服务器(取名pigeon-gate)和客户端(Mars)程序雏形开发好之后,需要进行协议联调,怎么确定Mars收发消息的行为是否符合预期呢(预期是阅读Mars源代码分析出来的)?抓取TCP消息包!

工具wireshark,安装在IM服务器pigeon-gate 所在的机器,安装方式自己百度。

打开wireshark工具,在过滤器中输入"tcp and ip.addr == 192.168.13.1" (该IP是手机IP地址 ),表示只显示来自192.168.13.1 IP地址的TCP数据。

IM客户端,发送一条消息,工具抓取到若干TCP数据包,其中红框标记的数据是客户端发到服务器的消息数据(多试几次就知道有效的数据是哪一条了)。

点击数据看到该条TCP消息包内容如下图。


蓝色背景(光标)的内容是客户端发到服务器端的内容(含header,body)。

非蓝色背景的内容可以简单理解为TCP协议的消息头(我们自定义的数据可以算作TCP协议的消息体)。

比如红色方框6个字节表示目的地(IM服务器)物理地址,测试服务器物理地址为 68-07-15-29-FE-3B;紫色方框表示消息来源(手机 )物理地址,其他内容可以查看TCP协议细节。

重点分析蓝色背景区域,消息前4个字节是消息头长度 headLength

headLength,4字节,TCP包内容为"00 00 00 14",将16进制转换为10进制为20。按照此方法得到

headLength = 20

clientVersion = 200

cmdId = 3

seq = 2

bodyLength = 36

根据收到的消息头判断Mars响应的这条消息符合预期。客户端向服务器端发送消息的协议正确,服务器进行相关处理。客户端向服务器端发送消息的协议联调通过。

消息体是明文展示的,可以看到chupengyu几个拼音字母。

到此,关于"IM系统怎么调试TCP协议"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

消息 服务器 服务 客户 客户端 内容 数据 系统 地址 字节 长度 学习 工具 物理 背景 蓝色 手机 方框 更多 进制 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 珑微服务器管理口ip 电话录音系统服务器 我的世界模组插件服务器核心 中山笃行网络福州软件开发 上海即时网络技术产品 四川准达通信网络技术 中心服务器图片单元离线 数据库慢语句的概念 公司哪个服务器最好 国际贸易数据网站及其数据库 王者语音服务器未响应 我的世界服务器猪灵无法交易 专业供应的数据库分库分表 新闻网络安全150字 数据库的语法结构罗列怎么写 网络技术以后前景怎么样 传统数据库易导致浮点失效的风险 数据中心是如何管理服务器的 注册一个网络技术工作室 网络安全技术的发展具有 启明星辰网络安全面试题 怎样下载云服务器 系统无法访问数据库是因为死锁吗 全局数据库实例 战地5怎么找到之前游玩的服务器 我的世界侏罗纪公园之双人服务器 广东网络安全职称 浙江服务器工厂云主机 国外网络安全产品现状 电脑wifi代理服务器端口
0