1

我是 Flash 新手。我打算在 Flash 中创建一个游戏客户端(在浏览器中运行),它需要与用 Java 编写的服务器通信。客户端和服务器之间的连接需要是持久的。

我知道 XMLSocket - 这是唯一的方法吗?有什么建议吗?

谢谢!

4

4 回答 4

1

有一个Socket类,它允许您在与服务器通信时使用真正的 TCP。缺点 - 您必须自己实现协议(在大多数情况下实现 HTTP 客户端。也许有人已经这样做了)

于 2009-08-19T15:36:38.353 回答
0

您是否只是为了学习和娱乐而创建游戏?否则,我会建议使用现有的游戏服务器,或者至少调查一下该选项的优缺点。

我在几个项目中使用了 SmartfoxServer ( http://www.smartfoxserver.com ),它并不完美,但它可以解决你的很多问题(如果你愿意,你可以用 java 编写扩展)。我觉得 ElectroServer http://www.electro-server.com/是类似的,你也可以看看开源服务器 Red5 http://osflash.org/red5

除了在 xml 中发送内容之外,您还可以调查是否可以使用 AMF 发送数据,它可能更小(如更少的位)。

于 2009-08-19T15:46:41.843 回答
0

确保服务器上有可用的安全策略文件。查看此 SO问题/答案以获取更多信息。

于 2009-08-25T12:57:07.990 回答
0

我一直在试验 Flash 和 Java 之间的 Socket 通信。与 XMLSocket 相比,Socket 的优势之一是带宽,因为您可以编写二进制数据。例如,您可以将单个实体的位置发送为:

writeShort(entity.id); writeFloat(entity.x); writeFloat(entity.y);

这只有 10 个字节。

Java 通过 DataStreams 或 ByteBuffers 支持类似的原始读/写函数。

实际上,服务器端比 Flash 端更复杂,因为您必须在旧的 io Java 套接字和新的 io 方法之间进行选择。新的 io 方法具有更好的性能,但更复杂并且显然充满了陷阱。

于 2009-12-10T03:33:54.507 回答