java scoket 与 C 通信
typedefstructPacketHead{charHEAD[2];//头charALL[4];//传递参数charEND[2];//结束标示}PACKETHEAD;...
typedef struct PacketHead
{
char HEAD[2];//头
char ALL[4];//传递参数
char END[2];//结束标示
}PACKETHEAD;
问题是这样的现在我有一个C程序服务器端如上所示结构,现在我想通过java 将服务器端传递过来的参数进行解析。通信方式TCP/IP SOCKET方式。
java方面如何接收,解析及输出 上述结构内容? 展开
{
char HEAD[2];//头
char ALL[4];//传递参数
char END[2];//结束标示
}PACKETHEAD;
问题是这样的现在我有一个C程序服务器端如上所示结构,现在我想通过java 将服务器端传递过来的参数进行解析。通信方式TCP/IP SOCKET方式。
java方面如何接收,解析及输出 上述结构内容? 展开
3个回答
展开全部
java里没有结构体,你可以用一个类模拟一下结构体:
接收的时候先接收到字节数组里面去,在转换成对象类。
public class PacketHead
{
public byte Head[] = new byte[2];
public byte ALL[] = new byte[4];
public byte END[] = new byte[2];
//Buffer是接收到的数据
public boolean readFromBuffer(byte[] Buffer){
if (Buffer.length<8)
return false;
HEAD[0] = Buffer[0];
HEAD[1] = Buffer[1];
ALL[0] = Buffer[2];
ALL[1] = Buffer[3];
ALL[2] = Buffer[4];
ALL[3] = Buffer[5];
END[0] = Buffer[6];
END[1] = Buffer[7];
return true;
}
接收的时候先接收到字节数组里面去,在转换成对象类。
public class PacketHead
{
public byte Head[] = new byte[2];
public byte ALL[] = new byte[4];
public byte END[] = new byte[2];
//Buffer是接收到的数据
public boolean readFromBuffer(byte[] Buffer){
if (Buffer.length<8)
return false;
HEAD[0] = Buffer[0];
HEAD[1] = Buffer[1];
ALL[0] = Buffer[2];
ALL[1] = Buffer[3];
ALL[2] = Buffer[4];
ALL[3] = Buffer[5];
END[0] = Buffer[6];
END[1] = Buffer[7];
return true;
}
展开全部
指定Socket的IP地址即可,连接上即可获得Socket.getInputStream(),然后read()解析下数据就是。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java应该也有相应的socket接口吧。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询