c++ 客户端与java服务端的socket通信解析

发布于 2022-09-05 21:29:29 字数 223 浏览 24 评论 0

现在有一个c++的socket服务数据格式为头部+消息体
头部为:0x549921ca + 消息体长度
消息体为:K:V

有个Java服务端去接收socket发过来的请求,但是为什么头部的信息都是乱码呢?

是因为头部是二进制流而不是文本流么? 那如果这样在java端如何解析这个头部

内容的话可以看到,但是也还是不确定拿到这个协议,在java这端如何使用

谢谢

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

成熟稳重的好男人 2022-09-12 21:29:29

可以给出具体例子吗?比如发送前数据是什么,发送后数据是什么。

你的问题大概可以通过以下方式定位清楚:

  1. 确保数据开始发送正确:比如可以前4字节发个整型:5,看对端是否接收到的也是5。如果是,说明通信过程没没问题,否则就是通信过程本身有问题了。

  2. 如果确定了通信过程没问题,那么就看一下 是否是编码的问题:

        (1) 可以设置发送时候数据编码和接收端编码是否一直。尤其是带不带bom
        (2) 可以在发送端和接收端打印前4个字节的整数值,由于步骤1通过了,因此,这一步应该是两个打印的数值相等。否则,步骤1 不通过。
    

大概就这样可以定位出问题在哪里了。具体的问题 看不懂数据和代码 我也不好回答。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文