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

时间:2014-11-21 09:58:18

标签: python web-services

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

前段时间我在JAVA中编写了一个客户端/服务器程序,它或多或少是直接的,但现在我需要一个计算核心,学生可以编程他们的计算模块,而python似乎很简单,不会让人讨厌编程

enter image description here

问题是,服务器可以用python编程,将python计算核心与数据服务器混合,而客户端是用Java或.Net制作的吗?

我希望这很清楚,因为我在Web服务编程方面经验很少。另外一个很好的教程或起点也不错。

4 个答案:

答案 0 :(得分:1)

当然这是可能的,而且实际上很常见。

示例:

  • Web浏览器(通用客户端)编程为C ++(Firefox,Chrome),而Web应用程序则采用多种编程语言编写。
  • 移动应用程序使用Objective-C(iOS)或Java(Android)进行编程,而后端服务则使用Java,.NET,Python,Ruby,JavaScript,Go和其他许多程序进行编程。

答案 1 :(得分:1)

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

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

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

对于您的情况,我认为最好的方法是使用Python Java和C#支持的Google协议缓冲区:看看:Protocol buffer tutorial in pythonProtocol buffer tutorial in Java甚至是C#{{ 3}}

答案 2 :(得分:1)

构建Web应用程序时,客户端技术的选项有限:主要是JavaScript(或Flash或Java等VM)。 node.js的发明者将此作为主要卖点:现在您可以完全使用Javascript构建您的Web服务器和Web客户端。

但是,如果不使用node.js,网络的其余部分就可以了。使用Ruby on Rails,Python或Java或.NET等框架。与客户端的通信通常使用JSON数据完成,并提供客户端可以获取/接收数据的干净API(应用程序编程接口)。

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

答案 3 :(得分:0)

没有理由不这样做。目前,互联网是使用由众多编程语言构建的所有不同类型的程序构建的计算机。