Java教程

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

本文主要是介绍Java(Android)与C++之间的Socket通信,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

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

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

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

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

  4. 字节序问题。Java为大字节序,而大部分PC主机C++都是小字节序,大小字节序和网络字节序相互之间的转化,也是需要考虑的问题。
    
这篇关于Java(Android)与C++之间的Socket通信的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!