java - 如何在 Tomcat 中为 Java EE 应用程序实现套接字

标签 java python sockets tomcat interprocess

我有一个用于数据分析的 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/

相关文章:

java - JVM 如何以及在何处处理键盘敲击?

java - 具有重复的两个数组的交集

java - Android布局文件不允许&、<、>等字符

linux - Python 服务器在 Linux 中不工作

java - Javax.mail.message 的 Java EE 7 编码错误

python - 将字节数组构造的图像上传到Azure而不保存在本地

python - django_apscheduler 在 django 启动时删除_all_jobs

python - 如何分割字符串中的最后一个元素

c - channel 未阻塞时 libssh2_channel_write 的行为

c - SO_ERROR 与 errno