首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2SE开发 >

java 怎么向C++服务发送struct结构?

2012-02-11 
java 如何向C++服务发送struct结构???????C++那边的结构#defineEREAD_GET_USER_URLstructs_EREAD_GET_USER

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通信。
[解决办法]

探讨
结构其实你直接无视就好了
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

[解决办法]
用xml来处理
[解决办法]
在C++端通过JNI进行类型转换。

热点排行