mina服务端和C++客户端的通信问题?
有没有大侠在项目中用到过mina服务端和C++客户端的数据包传输,协议数据包格式包括包头和数据,包头中有几个属性信息,比如包头标示、协议类型、数据类型、数据长度,数据信息是用到protocol buffer封装的信息,如果C++方发送数据包过来,现在这边的mina服务端方怎么解析的,自己写个过滤器吗?还是mina中有过滤器直接使用?C++的protocol buffer封装的数据,能用java的protocol buffer解析吗(他们用的是同一个proto文件,但客户端生成的C++文件,java生成的是JAVA文件)?还有C++发一个数据包,可能服务端接受到2个包,才是发送的一个整包吗? 接受到的2个包中,可能是C++发送的一个包,有没有可能包含发送的一个包和另一个包的一部分呢? 希望有过经历的大侠,说说思路。。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
怎么解决的啊?5年前的帖子了。我愁死了 不知道怎么办
引用来自#5楼“卢作晋”的帖子
protocol buffer的出现就是为了各种语言之间数据解析的问题的, 同一个proto文件的东西 生成的java, c++代码是直接可以解析的
protocol buffer的出现就是为了各种语言之间数据解析的问题的, 同一个proto文件的东西 生成的java, c++代码是直接可以解析的
引用来自#3楼“多乐乐”的帖子
引用来自#2楼“王振威”的帖子
我也是才接触,用过一次,由于传输的数据比较简单,直接用mina的TextLineCodecFactory,c++那边的socket直接写字符串,然后一分行符做结尾就行了,c++接包的话就得自己写解析了,我是用消息头部写上消息长度,然后c++那边检测一下包的长度,大致就这样
引用来自#2楼“王振威”的帖子
我也是才接触,用过一次,由于传输的数据比较简单,直接用mina的TextLineCodecFactory,c++那边的socket直接写字符串,然后一分行符做结尾就行了,c++接包的话就得自己写解析了,我是用消息头部写上消息长度,然后c++那边检测一下包的长度,大致就这样
我也是才接触,用过一次,由于传输的数据比较简单,直接用mina的TextLineCodecFactory,c++那边的socket直接写字符串,然后一分行符做结尾就行了,c++接包的话就得自己写解析了,我是用消息头部写上消息长度,然后c++那边检测一下包的长度,大致就这样
问题已经解决。。。