关于java和c++之间使用socket的数据包传输的问题

liuxiao 2004-09-24 10:34:52
请问如果我要从实现java和C++之间的数据包互传该怎么解包和打包?例如
struct MyStruct1
{
int a;
unsigned short b;
double c;
}

struct MyStruct2
{
float a;
MyStruct1 b;
}mystruct;

char* d=new char[sizeof(mystruct)];
然后传输d;
例如我使用bytes流来传输这个数据包,那么我在Java中如何还原这个数据包。同样,我在Java中如何将这样一个数据包传输给C++程序。
假如C++中的数据存储的空间大小如下
int为16位
unsigned short为16位
double为64位
float为32位
...全文
239 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
DentistryDoctor 2004-09-25
  • 打赏
  • 举报
回复
类似于TCP/IP的实现,你自己在数据包下加上包头,自己弄个应该层的协议。
sharkhuang 2004-09-25
  • 打赏
  • 举报
回复
同样的包格式。和语言没关系。
geland 2004-09-25
  • 打赏
  • 举报
回复
你知道数据包的大小了,就按照每个字段的偏移量取出来就行了呀
liuxiao 2004-09-25
  • 打赏
  • 举报
回复
主要原来没有用过java,在C++中可以直接按大小取出使用内存拷贝就行,那在java中如何取出,进行赋值??因为我在java中收到的是byte数组,我该如何取出赋值了。
oyljerry 2004-09-25
  • 打赏
  • 举报
回复
自己在两端定义好相同的结构,然后就可以发送和接收了,发送和接收只需填充结构和拆分结构。
PiggyXP 2004-09-25
  • 打赏
  • 举报
回复
只要用同样长度的变量来发送接收就不会有什么问题的

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧