delphi - Delphi 应用程序的实时基于网络的客户端。如何?

标签 delphi gwt smartgwt icalendar

首先,我想要的东西非常复杂,至少对我来说是这样,但另一方面,它听起来很令人兴奋。

我有一个用 delphi 编写的软件,我想要一个基于网络的实时客户端。

要求:

  • 在客户端纯 Javascript
  • Shiny 的界面(GWT、SmartGWT)
  • 服务器和客户端之间的异步连接。 Ajax 推送、长轮询、Comet、WebSocket?

在服务器端

  • 可扩展性

在delphi方面,我想我可以使用Overbyte的ICS来处理请求。我知道 ICS pack 中的 THttpAppSrv 可以轻松地提供简单的内容,但是 Websocket 怎么样,或者我如何用它进行长轮询?

您认为这是一个很好的组合(客户端的 GWT、SmartGWT 以及 delphi 端的 ICS),是否有任何示例项目,或者还有其他解决方案吗?

更新 感谢您的有用评论,我想我更接近解决方案了。很高兴知道 GWT 可以使用自定义服务器,但我认为 Arnaud 是对的,GWT 及其自己的 Jetty 服务器是一个完整的解决方案,但不幸的是不适合我。 :) 我想我需要一个用delphi编写的服务器,它可以与GWT RPC通信。

更新2 我接受了 Arnaud Bouchez 的答案,这对我来说是最初问题的最佳答案,但是我认为有一个更好的解决方案(如果您稍微改变一下要求)来为 delphi 应用程序创建在浏览器中运行的客户端。我只是在这里发表一点评论,分享一下想法。最后我用了node.js服务器,并在ZMQ的帮助下将其连接到我的delphi应用程序.

最佳答案

关于Delphi端的HTTP服务器,可以考虑使用kernel mode http.sys server从 XP 开始由 Microsoft 提供。应该比 ICS 更快。

对于 AJAX 部分,请查看 Op4JS或即将到来 ElevateDBBuilder .

这些解决方案的优点在于您可以编写对象 pascal 代码,并且该代码将被转换为 JavaScript。尚未完成,但值得等待一下他们的发布时间。

当然,更经典的 AJAX 解决方案确实存在,例如 IntraWebExtPascal 。两者都实现了自己的网络服务器。

关于 GWT,据我所知,它们是 Java 库,与 Java 世界紧密相连。您将无法使其与 Delphi 一起工作。

编辑 GWT:

GWT 是一个完整的客户端-服务器框架。

如果您使用 GWT,我怀疑您最终会在某个时候对应用程序进行完整的 Java 重写。否则您将错过 GWT 作为框架的最大乐趣。这是你的选择。

我宁愿依赖一些更标准的方法,例如使用 JSON 进行通信,就像我们使用框架一样。

关于delphi - Delphi 应用程序的实时基于网络的客户端。如何?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7193014/

相关文章:

arrays - 如何在 Delphi 中弃用数组类型声明?

windows - Vista 及更高版本上的系统范围键盘钩子(Hook)

gwt 圆形面板(类似于 DecoratorPanel 的基于标准的小部件)

java - SmartGWT-如何更改 listGrid 中的过滤器按钮图标?

delphi - 如何解决项目中未找到错误 'DesignIntf.dcu'(不是包)

delphi - 使用 WM_SETFOCUS 和 WM_KILLFOCUS

java - 如何处理 SmartGWT 日历中特定事件上的鼠标右键单击?

pdf - SmartGWT pdf 导出

java - gwt 开发模式 : code changes dont show up

java - 使用 gwt-visualization 并排绘制图表