actionscript-3 - node.js 和 ActionScript 通用的序列化格式?

标签 actionscript-3 serialization node.js

我的一些 friend 正在设计一款游戏,我正在帮助他们实现游戏的后端服务器。游戏是用 Flash 编写的,我计划用 node.js 开发服务器,因为 (a) 这将是学习 node.js 的一个很酷的项目,并且 (b) 它很快,这对游戏很重要。

服务器的架构基于服务器和客户端之间发送的消息(有点像 Minecraft 的服务器协议(protocol))。到目前为止,我的消息格式是一个字节(数据包类型)、两个字节(消息长度)和那么多字节(消息数据,它是键值对的映射)。问题是,我真的不想开发自己的序列化格式(因为虽然我可能可以,但与使用现有解决方案相比,实现它会很痛苦)。

不幸的是,我在寻找合适的消息数据序列化格式候选者时遇到了问题。

  • ActionScript 自己的远程处理格式可能有用,但我不太喜欢它。
  • JSON 在 node.js(很明显)和 ActionScript 中都有支持,但它也是文本的,我更喜欢二进制以提高速度。
  • MessagePack 看起来是个不错的选择,但我找不到 ActionScript 实现。 (Google Code 上有一个名为 as3-msgpack 的程序,但我遇到奇怪的错误并且无法访问它。)
  • BSON 有一个 ActionScript 实现,但除了他们的 MongoDB 库之外不支持 node.js(我打算使用 Redis)。

那么,任何人都可以提供我可能错过的任何其他序列化格式吗?还是我应该坚持使用其中之一(或自己动手)?

最佳答案

这不是 HTTP 支持压缩内容的原因吗?只需在发送内容时使用 JSON 和 gzip 即可。 gzip 压缩所花费的时间因传输延迟的减少而得到恢复。

有关 gzip with Actionscript 的更多信息,请查看这篇文章.在 node.js 上,我认为 gzip-compress相当受欢迎。

关于actionscript-3 - node.js 和 ActionScript 通用的序列化格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5073323/

相关文章:

javascript - 如何从 ModelA.js 中调用 ModelB.js 的方法?

apache-flex - Flex AIR Sqlite 作为嵌入式数据库

java - AS3/Java/HTML : Get flash to respond to external html/java events

flash - 使用 event.target 信息创建 Movieclip 实例

php - Mysql -> 用户表中可以有多少列?我应该存储数组吗?

c# - 在通用类中动态定义 DataContract 和 DataMember

javascript - Flash:在全屏模式下使用鼠标滚轮事件(Windows 和 Mac)

java - 如果我们不在 Java 中序列化对象会发生什么?

javascript - Node.js 对象实例化是否为每个用户创建一个对象?

javascript - 通过搜索单词来读取 txt 文件,并检索找到的单词的行数并计算找到的单词的行数 - 可能吗?