作者:麻廿_965 | 来源:互联网 | 2023-05-17 10:36
如题:通过ActiveMQ这个中间件,怎么实现在C++和Java之间传输图像数据,或者更进一步,传输一个包含图像数据的结构体最先想到的方法是通过ActiveMQ本身自带的消息转换函数,但是又有
如题:通过ActiveMQ这个中间件,怎么实现在C++和Java之间传输图像数据,或者更进一步,传输一个包含图像数据的结构体
最先想到的方法是通过ActiveMQ本身自带的消息转换函数,但是又有疑问:通过C++转换成的字节流格式,在java接收端那边能不能正确接收到并反序列化成结构体信息。
后来想到的方法是采用一个json格式转换结构体数据,java接收端接收json格式数据并转换成结构体数据,又有一个疑问:这种方式能不能发送图片,如果图像数据太大的话能不能接收的到?
15 个解决方案
通过C++转换成的字节流格式,在java接收端那边能不能正确接收到并反序列化成结构体信息=============java没有结构体,可以不用结构体,只要能把图片数据发送过去就ok了,只要java接收端能够接收到这些信息,那就可以通过解析获取想要格式的信息。。。
ActiveMQ本来就是JMS的实现,怎么可能JAVA会接收不到,只要定义好了消息结构就可以
放心用吧,我们以前在总行里的JAVA应用跟各省分行的前置机通讯都是用MQ,可以带附件
传图片应该没问题,问题是图片通常比较大,会超过ActiveMQ消息大小的限制吧
应该是c++这边的进程 跟java这边的进程 通讯传输图片 通过你这个ActiveMQ相当于封装了通讯的socket 把应用层 的图片二进制字节流传给java服务端 这边收到完整的图片数据包 如果知道图片格式比如jpg ,bmp,gif等等 直接java保存成二进制文件 不就行了吗
不过看你的这个ActiveMQ 中间件功能了 比如比较大的数据包 要通过tcp分段传输 肯定要拼包 才能完整 是不是他都可以实现
为什么你要把图片看成是图片?
传输只管过程,不管开始和结果
你的程序两端都明白这些数据所代表的意思不就行了