标签:丢失 bsp sock com 字符串 char* 地方 alt nbsp
1、打印buf出现数据不正确,应该是printf("%x",*buf);十六进制是不能直接像字符串一样打印出来的,必须一个一个打印
2、std::string 的字符串链接函数不能用于含有0的字符串,会导致错误判断字符串长度,丢失数据
3、缺少重要数据结构说明和数据包交互时序文档,经测试,重要的时序交互如下:
其中的RTS指令必须执行,不然后续指令无法执行
4、网路调试正常,程序卡死在接收数据指令
检查验证数据包的报文,用不同IP获取不同报文,配合反编译观察数据包结构,确认程序数据包正确,经思考和观察,发现调试过程中connect函数端口写死,导致一个端口被重复使用,出错
5、字符串拼接,不能直接用char* ,因为+重载不接受,需要对char*进行string强转。
6、链接数据库失败,提示xxxx sock ,换localhost为IP,命令行测试通过
这个项目最坑的地方在于,两个端口的命令和数据之间有耦合关系,且文档资料不全,需要部分逆向工作才能实现整体功能
标签:丢失 bsp sock com 字符串 char* 地方 alt nbsp
原文地址:https://www.cnblogs.com/ynhi/p/10319101.html