java 如何向C++服务发送struct结构???????
C++那边的结构
#define EREAD_GET_USER_URL
struct s_EREAD_GET_USER_URL
{
int cmd;
char userid[32];
int number;
};
现在java要向那边发送这样的数据信息,如何处理
他返回的也是这种结构类型,java中如何搞定喃??
------解决方案--------------------CORBA编程去看看吧,嘿嘿
------解决方案--------------------结构其实你直接无视就好了
int cmd;
char userid[32];
int number;
你JAVA读的时候一共读34位
byte[34] buf = in.read();
buf[0] 第一位 -> cmd
buf[1]~buf[32]第2~33位 -> userid
buf[33] 第34位 -> number
------解决方案--------------------JAVA与C通信,你现确定协议吧,如果是网络通信我还是比较喜欢webservice
当然私有协议上的socket通信也是可以的拉
------解决方案--------------------这是协议的问题吧。跟程序无关吧?
------解决方案--------------------我这里有一种方案,java 使用 socket(TCP/IP) 实现字节流的一个发送,
然后按照楼上 beiouwolf 的方法,因为结构体其实就是一个存储块,了解 C++ int 所占字节就可以
然后把你的数据按字节发送过去,接收方式其实就是读取字节
------解决方案--------------------用xml格式定义结构体,用socket通信。
------解决方案--------------------
------解决方案--------------------用xml来处理
------解决方案--------------------在C++端通过JNI进行类型转换。