两个用不同语言编写的应用程序可以通信

时间:2013-10-13 19:57:57

标签: java android c sockets

我想用Java编写一个移动应用程序(Android)并与谷歌Chrome扩展程序进行通信。为此,我需要使用套接字将数据发送到移动设备。这显然不能在JavaScript中完成,所以我查看了Native Client编译器,它允许我使用C(不支持Java)来创建套接字。该应用程序需要用java编写。在这一点上,这完全是理论上的,因为我不知道C或Java。但是,我确实有一些编程经验,并愿意学习这两种语言。我对套接字没有任何经验。

我的问题是,我可以使用C启动套接字并让它使用Java将数据发送到应用程序吗?

3 个答案:

答案 0 :(得分:3)

  

用不同语言编写的两个应用程序可以通信吗?

当然,他们可以!只需以JSON,YAML或XML等通用交换格式表达通信数据,几乎可以在任何平台/语言上轻松读取。二进制数据也很好,但是与它通信你应该知道并尊重对齐和字节序等内容。

注意:Javascript可以使用套接字!您可以搜索术语AJAX以了解更多信息。

答案 1 :(得分:3)

有许多通信协议。正如暗示的那样, protocol 建议使用标准接口。它是保证apps written in different languages can communicate的标准接口部分。换句话说,用任何“语言”编写的应用程序可以打包一些数据,并根据特定协议的规则发送它,可以成功地发送和/或接收来自不同语言,但识别相同的协议。例如,TCP / IP是一种协议,它允许使用一种语言编写的应用程序以不同的方式发送和接收字节数据,这些方式是由不同的应用程序编写的 识别 语言。它使用定义明确且记录良好的通用接口(例如IPv4或IPv6),并且经常用作以不同语言编写的应用程序之间的通信方法。使用TCP / IP协议的例程使用C,C ++,C#,Java等语言编写。这些语言(以及大多数其他现代语言)都有可用的库,可以简化并进一步标准化 talk TCP / IP的应用程序中的实现。例如,套接字是在提供互联网连接的应用程序中使用的(可能是 )主导方法。套接字库可用于 Linux Windows 原生语言。< / p>

答案 2 :(得分:2)

  

我可以使用C启动套接字并让它使用Java将数据发送到应用程序吗?

嗯,当然。例如,您使用的Web浏览器不太可能使用与您正在访问的Web服务器相同的编程语言编写。这部分是因为每一方都涉及多种语言。