近几天看到csdn上问c/c++和java通信的问题比较多,特别是c特有的数据结构(如struct)。
特地根据网友的一个问题举个例子,希望对初学者有所帮助。
原问题见:http://community.csdn.net/Expert/topic/3886/3886989.xml?temp=.3527033
这类问题通常是为了利用原有Server或者Server不能做修改(通常是c/c++)造成。
比如Server端只接收一个结构Employee,定义如下:
struct UserInfo {
char UserName[20];
int UserId;
};
struct Employee {
UserInfo user;
float salary;
};
当然也可以定义为
struct Employee {
char name[20];
int id;
float salary;
};
java client 测试源码(为说明问题,假设struct字节对齐,sizeof(Employee)=28)
import java.net.*;
/**
* 与C语言通信(java做Client,c/c++做Server,传送一个结构)
* @author kingfish
* @version 1.0
*/<