Java(Android)与C++之间的Socket通信

2022-11-30 21:16:59 浏览数 (1)

Java与C 之间的Socket通信,对于小的数据量和控制命令,直接可以封装成json或xml格式,进行传输。但对于文件等大数据量传输,必须要将文件封装成帧,每一帧都设定固定大小的缓冲区,逐帧传输。此时json和xml便不再适用了。

在此过程中要需解决如下问题:

Java和C 数据基本类型不同,不仅所占字节数不同(如long型,java占8bytes,C 一般为4bytes)。C 缓冲区一般使用char型,但是java中没有char型,相互之间传输的数据,如何接收解析?

C 常用的特殊类型:结构体,如何解析成Java中的类。即使是两者都具有的枚举类型,两者的机制是不一样的,如何进行对接?

Java端和C 端,发送给socket的数据形式是什么?char数组型还是字节型C 端又有何种形式进行接收?接收到的数据又如何正确解析出来?

代码语言:javascript复制
字节序问题。Java为大字节序,而大部分PC主机C  都是小字节序,大小字节序和网络字节序相互之间的转化,也是需要考虑的问题。

0 人点赞