java udp 结构体_java UDP 传送 字节数组

我用的是DatagramPacket方法DatagramPacket(data,length,host,port)其中data是一个byte[]data如果是一个字符串我知道怎么做比如Stringmes="helloandroid";byte[]bytesa=mes.getBytes(...

我用的是DatagramPacket方法 DatagramPacket(data, length, host, port)

其中 data 是一个 byte[] data

如果 是一个 字符串 我知道 怎么做比如

String mes = "hello android";

byte[] bytesa = mes.getBytes();

然后就可以把 bytesa 放进去了 ,

--------

现在 的情况是 我又 2 个 结构体, 就是2 个class 想放进去 比如

class login{

int ID;

int name;

}

class info{

int ID;

int num;

}

那我应该 怎么放进去呢, 多谢了

感谢你的回复(鼻涕一米二):

然后说下 我这是 放在 android 里面的, 按照你的方法, 出现了 2 个问题 一个是 在

writeObject 我的 class 后 报 error , 另外一个是 现在 是放了一个 class 如果我想 放2

个 class 到 DatagramPacket 第 byte[] data 里面去呢 ,

ByteArrayOutputStream buffers = new ByteArrayOutputStream();

try {

ObjectOutputStream out = new ObjectOutputStream(buffers);

out.writeObject(loginStruct);

out.close();

} catch (Exception e) {

System.out.println("error");

}

byte[] bytesa = buffers.toByteArray();

int bytesa_len = bytesa.length;

DatagramSocket socket = new DatagramSocket(server_port);

InetAddress local = InetAddress.getByName(server_addr);

DatagramPacket sendSocket = new DatagramPacket(bytesa, bytesa_len, local, server_port);

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值