我有一个用于数据分析的 Python 应用程序和一个用于网络监控的 Java EE 应用程序。现在我需要在它们之间建立持久的通信,以便将分析结果从 python 传输到 java。
因为这两个应用程序都位于同一台服务器上,所以我想实现一个 TCP 套接字。至于数据量,每秒传输大约10个传感器的数据。我正在使用 Tomcat 8.0 for Java EE 和一个简单的 python 脚本。所以我的问题是:
- 套接字实现是个好主意吗?
- 如果是,如何实现它,有人可以给我教程或示例吗?
- 如果没有,我接下来应该做什么?
附加信息
我在 StackOverflow 上看到一个相关问题 How to serve a socket from a Java EE application ,有一些主张:
- 实现连接器 (JCA)。但我认为目标运行时是 JBoss 而不是 Tomcat。
- 实现 Java 命名和目录接口(interface) (JNDI)。这就是我正在尝试的,你可以在我之前的问题中看到 Why JNDI resource can only be called once in Tomcat?人们使用 JNDI 来使用资源,例如数据库连接。所以我不确定这是否是实时通信的好方法。我在学习它的过程中遇到了很多麻烦。
- 我想到了网络套接字。但这是否意味着我也需要一个 Python 服务器?
最佳答案
我相信有一百种方法可以在这些技术之间共享数据。但是对于 Java,您应该保持简单。在 Tomcat 中你不需要编写套接字实现,你只需要一个基本的 Servlet执行。所以基本上是针对您的问题。
Is socket implementation a good idea ?
很快就没有了。
If yes, how to implement it, can somebody give me a tutorial or example ?
已经回答NO。
If not, what should I do next ?
编写一个监听服务器 url 地址的基本 servlet 应用程序。你的植物脚本只是一个客户端。在 phyton 站点中,您只需向 servlet url 发送一个 POST 请求,在 Java 端获取请求读取您的数据并进行处理。可以从Mkyong开始学习Servlet .
关于java - 如何在 Tomcat 中为 Java EE 应用程序实现套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34510280/