7

我正在构建一个小型乘法器,它需要以下内容:

  • 它必须用 Delphi 编写
  • 必须支持互联网连接(不仅是局域网)
  • 通过 HTTP 工作
  • 支持数据包的一些加密(可能是自定义的)
  • 能够向服务器发送命令
  • 能够接收来自服务器的响应
  • 最多可将 8 个玩家连接到一台服务器
  • 能够将复杂对象(可能是 JSON 序列化)传递给服务器

您认为新的 Delphi 2010 Datasnap 可以在这种情况下成功使用,还是我应该使用普通的旧 TSocket?

4

3 回答 3

10

DataSnap 可以完成您上面列出的所有工作:

  1. DataSnap 是用 Delphi 编写的。
  2. 它可以通过任何连接、本地、网络或远程的 HTTP 进行连接。
  3. 它将通过 HTTP 工作,包括对隧道 HTTP 连接的支持
  4. 您可以随意过滤数据流。该产品包括一个压缩过滤器。Daniele Teti 编写了一些非常好的加密过滤器
  5. 您可以通过调用服务器方法向服务器发送命令
  6. 您可以通过服务器回调接收来自服务器的响应
  7. 您可以轻松地将八个人连接到服务器
  8. 您可以传递 JSON 对象。这是客户端和服务器之间发送的默认类型。

所以回答你的问题,是的,我认为新的 Delphi 2010 DataSnap 可以在你的场景中使用。

于 2009-12-02T22:29:09.527 回答
3

正如尼克所说,答案是肯定的。

Bob Swart 撰写了一份白皮书并制作了一些有关Delphi 2010中更新的 DataSnap 的视频,可以帮助您入门。

于 2009-12-02T23:13:33.600 回答
1

如果您的多人游戏不发送太多数据 HTTP 和 Datasnap 可能会工作。如果您需要快速通信,我会使用 UDP 和自定义二进制协议。除非您必须绕过阻止几乎所有协议(除了 HTTP)的公司防火墙——而且公司通常不喜欢人们在工作时间玩游戏——否则防火墙会阻止传入连接,而不是传出连接。只是服务器需要开放端口以允许客户端连接。而且我也会避免使用 JSON - 如果您不需要互操作性,二进制序列化会快得多。

于 2009-12-03T08:35:31.970 回答