2

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

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

4

3 回答 3

3

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

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

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

于 2013-10-13T20:04:57.433 回答
3

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

于 2013-10-13T20:47:22.257 回答
2

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

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

于 2013-10-13T20:03:39.383 回答