c++作为 client 发送固定协议的格式给 java,协议格式为:消息头加消息体
消息头:0x786621cd XXXX(消息体长度)
消息体:K:V
现在用 java 接收之后,使用
byte[] buffer = new byte[100000];
InputStream inputStream = socket.getInputStream();
int length = inputStream.read(buffer);
String inputStr = new String(buffer, 0, length);
包体的数据是可以看到的,但是包头的信息是乱码。 好像是因为 c++那里包体是文本流,包体是二进制。所以想问一下:
如何能够在 java 这里解析到包头信息呢?
thx
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.