我开发自己的游戏,我使用google游戏服务添加多人功能。
我对数据信息的传输有问题。默认情况下,消息对象是byte[],它很容易传输诸如int、char和强制转换它们的对象。
我的问题是传输我创建的对象。
工作示例:
发送数据时:
int a = 0;
mMsgBuf[0] = (byte) a;当收到:
int a = (int) mMsgBuf[0];现在我想发送我的对象,但是我需要将它传输到一个字节(而不是字节数组),并将其放入mMsgBufX中。
我怎么能这么做?
编辑很容易将对象转换为byte[],但是消息传输是a byte[]。我正在咨询如何将消息(如我们所知的- byte[])与我的objectbyte[]传输,也许合并这两个数组?
发布于 2017-05-25 07:04:54
使您的自定义对象可串行化,如果不是。实现可序列化接口。然后在对象和字节数组之间进行转换,以传输或接收数据。
对象为byte[]:
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(yourObject);
byte[] yourBytes = bos.toByteArray();byte[]反对:
ByteArrayIntputSream bis = new ByteArrayInputStream(yourBytes);
ObjectInput in = new ObjectInputStream(bis);
Object o = in.readObject();https://stackoverflow.com/questions/44174029
复制相似问题