首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android实时游戏字节消息传输

Android实时游戏字节消息传输
EN

Stack Overflow用户
提问于 2017-05-25 06:46:42
回答 1查看 262关注 0票数 0

我开发自己的游戏,我使用google游戏服务添加多人功能。

我对数据信息的传输有问题。默认情况下,消息对象是byte[],它很容易传输诸如int、char和强制转换它们的对象。

我的问题是传输我创建的对象。

工作示例:

发送数据时:

代码语言:javascript
复制
 int a = 0;
 mMsgBuf[0] = (byte) a;

当收到:

代码语言:javascript
复制
int a = (int) mMsgBuf[0];

现在我想发送我的对象,但是我需要将它传输到一个字节(而不是字节数组),并将其放入mMsgBufX中。

我怎么能这么做?

编辑很容易将对象转换为byte[],但是消息传输a byte[]。我正在咨询如何将消息(如我们所知的- byte[])与我的objectbyte[]传输,也许合并这两个数组?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-25 07:04:54

使您的自定义对象可串行化,如果不是。实现可序列化接口。然后在对象和字节数组之间进行转换,以传输或接收数据。

对象为byte[]:

代码语言:javascript
复制
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutput out = new ObjectOutputStream(bos);
out.writeObject(yourObject);
byte[] yourBytes = bos.toByteArray();

byte[]反对:

代码语言:javascript
复制
ByteArrayIntputSream bis = new ByteArrayInputStream(yourBytes);
ObjectInput in = new ObjectInputStream(bis);
Object o = in.readObject();
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44174029

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档