【发布时间】:2011-08-22 03:53:51
【问题描述】:
我将开发一个基于 Saas(软件即服务)的应用程序,它使用将在服务器上运行的 python 应用程序和将作为 jython 应用程序运行的客户端 GUI。最初我的计划是客户端将在 Jython 中开发用于原型设计,但后来如果应用程序复杂性增加并且取决于 jython 的性能恶化,我会将客户端完全移植到 JAVA。
现在,我想探索一种方法,以便使用 Twisted 等知名工具在服务器和客户端应用程序之间进行有效的 TCP/IP 通信。我还在考虑其他选择,例如 corba 和 pyro。
所以基于此我有这个问题。
python 和 jython 客户端之间最有效的 TCP/IP 套接字通信方式是什么。我可以在 python 端使用twisted 在 jython 端使用 java socket api(它们是否兼容)?还是有其他更好的方法(用于原型设计和 RAD 目的)?
【问题讨论】:
-
这是否始终由客户端控制,或者您有时需要从服务器“推送”数据?有多少客户端可能同时运行?将传输多少数据?通信响应对客户响应有多重要(客户是否会在交互使用过程中暂停发送/接收)?消息会多还是少?你需要什么样的安全?您是否需要支持其他客户端或其他协议(例如 http rest to server)?客户端和服务器之间不会丢失任何信息(例如财务数据)是否至关重要?局域网还是互联网?
-
@andrew - 这将是数据访问的推送和拉取方式。客户端可以有很多(在商业部署的情况下有数百甚至数千个),但我可以选择为每个客户端设置一个单独的服务器应用程序实例。数据传输量不会超过几百 KB,但每隔几个小时就会发生一次(从服务器推送)。
-
@andrew - 客户端响应能力至关重要,因为它(在某些情况下)必须在交互之间发送 n 个接收信息(拉取)。消息最初会很少,但随着应用程序的增长,这也会增长.对于安全性,最初用于原型设计,我可以使用非安全方式,但后来为了商业化,我将不得不使用 ssl 之类的东西。数据丢失并不是很严重,因为它可以从服务器应用程序中再次检索。服务器和客户端通信。将通过互联网。