ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Python与Jython(JAVA)应用程序之间的通信

2019-07-04 18:57:38  阅读:327  来源: 互联网

标签:python java jython


我将开发一个基于Saas(软件即服务)的应用程序,它使用将在服务器上运行的python应用程序和将作为jython应用程序运行的客户端GUI.最初我的计划是客户端将在Jython中开发用于原型设计,但是如果应用程序复杂性增加并且取决于jython的性能恶化,我将把客户端完全移植到JAVA.

现在,我想探索一种方法,以便我可以使用一些众所周知的工具(如Twisted)在服务器和客户端应用程序之间进行有效的TCP / IP通信.我还在考虑其他选项,如corba和pyro.

基于此,我有这个问题.

什么是python和jython客户端之间最有效的TCP / IP套接字通信方式.我可以在python端使用twisted,在jython端使用java socket api(它们兼容)吗?还是有其他更好的方法(用于原型设计和RAD目的)?

解决方法:

我建议使用RPC,而不是通过套接字进行纯TCP / IP通信.

如果客户端很少,并且您不想使用复杂的技术,请使用JsonRPC或XMLRPC之类的东西. (请注意,只有在用Python编写服务器和客户端时才能使用Pyro.如果您打算稍后迁移到Java,则应该考虑这一点.)

如果性能和安全性在这里很重要(例如,许多客户端同时发送请求,或者您需要SSL连接)请使用类似于Ice的内容.我更喜欢Ice over Corba,因为它更简单,更现代,但又更好于Corba (也许更好).

更新:在我阅读您的评论后,我真的建议您使用Ice. Ice和Corba以及类似的技术称为ORB(对象请求代理)他们不使用传统的服务器/客户端模型.因此,应用程序中的所有对象都可以相互通信.无论他们在哪里.在这种情况下,您将拥有一个真正的分布式应用程序.

标签:python,java,jython
来源: https://codeday.me/bug/20190704/1379732.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有