服务器和客户端可以在不同的平台上编程吗?

2024-04-25 23:05:22 发布

您现在位置:Python中文网/ 问答频道 /正文

首先,我是电气工程师,但我想创建以下系统; 我希望许多分布式计算机(客户机)中的应用程序能够通过服务器将数据发送到python计算框架。你知道吗

很久以前,我用JAVA编写了一个客户机/服务器程序,这或多或少是直截了当的,但现在我需要一个计算核心,学生可以在这里编写他们的计算模块,而python似乎足够简单,不会让人们讨厌编程。你知道吗

enter image description here

问题是,服务器是否可以用python编程,将python计算核心与数据服务器混合在一起,而客户机是用Java或.Net或其他语言编写的?你知道吗

我希望这足够清楚,因为我在web服务编程方面经验很少。另外,一个好的教程或起点将是很好的。你知道吗


Tags: 模块数据服务器框架应用程序核心客户机系统
3条回答

是的,你可以让不同的语言通过套接字进行通信!你有不同的方法来实现这一点:

  • 使用两种语言都支持的XML、JSON或协议缓冲库等格式。你知道吗
  • 发送原始数据或文本并创建自己的协议。你知道吗

基本上,通过套接字的是字节数据,而字节在任何语言中都是相同的。主要的问题是,您必须为每一方和您使用的每一种语言重新实现逻辑。你知道吗

对于您的例子,我认为最好的方法是使用pythonjava和C#支持的Google协议缓冲区:看看:Protocol buffer tutorial in pythonProtocol buffer tutorial in Java,甚至是在C#Protocol buffer tutorial in C#

当然,这是可能的,而且事实上相当普遍。你知道吗

示例:

  • Web浏览器(通用客户端)是程序C++(Firefox,Chrome),而Web应用程序则是用编程语言编程的。你知道吗
  • 移动应用程序是用Objective-C(iOS)或Java(Android)编程的,而后端服务是用Java、.NET、Python、Ruby、JavaScript、Go和gazillion等编程的。你知道吗

在构建web应用程序时,客户端技术的选择是有限的:主要是JavaScript(或类似Flash或Java的VM)。node.js的发明者将此作为一个主要卖点:现在您可以完全用Javascript构建web服务器和web客户机。你知道吗

但是其他的网站没有使用节点.js例如,使用rubyonrails、Python、Java或.NET等框架。与客户机的通信通常使用JSON数据完成,并提供一个干净的API(应用程序编程接口),客户机可以使用该API获取/接收数据。你知道吗

除了web客户端之外,还有许多通信协议的示例可以解决您描述的问题,允许不同语言/平台的组件协同工作:

相关问题 更多 >