java - 在 Web 服务器上运行 Java EE 应用程序

标签 java jakarta-ee hosting hole-punching nat-traversal

下面是一个线程,它有一个监听端口 15445 的 SOCKET。 每当向它发送数据报数据包时,它都会在其中添加一个字符串(来自服务器的回复)后转发回发件人的地址。我想让这段代码在 Internet 上的某个地方运行,但我不知道从哪里开始。

这可能吗?我可以在 Tomcat 服务器上运行此代码还是需要做一些不同的事情?

import java.io.*;
import java.net.*;

public class HelloWorld extends Thread {

    protected DatagramSocket socket = null;
    protected BufferedReader in = null;

    public HelloWorld() throws IOException {
        socket = new DatagramSocket(15445);
    }

    public void run() {

        while (true) {
            try {
                byte[] buf = new byte[256];
                DatagramPacket packet = new DatagramPacket(buf, buf.length);
                socket.receive(packet);

                InetAddress address = packet.getAddress();
                int port = packet.getPort();
                String s = "Reply from SERVER";
                byte[] b= s.getBytes();
                packet = new DatagramPacket(b, b.length, address, port);
                socket.send(packet);
            } catch (IOException e) {
                e.printStackTrace();    
            }
        }

    }

    public static void main(String[] args) throws IOException {
        new HelloWorld().start();
    }
}

最佳答案

不,Tomcat 不是 Web 服务器。它是一个 servlet/JSP 引擎,恰好内置了一个 HTTP 服务器。

这看起来像 POJO 和一个 main.为什么不能将其作为服务运行?为什么你认为你需要一个网络服务器?

关于java - 在 Web 服务器上运行 Java EE 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14266736/

相关文章:

asp.net - 在 godaddy 托管上设置写入权限

linux - 如何从 80 以外的其他端口从 apache2(来自 GCP 的 linux)访问网站?

java - Eclipse 插件开发 : How to get current bundle version?

jsf - jsf 2.0 中重定向浏览器后退按钮

java - 是否可以通过在 Apache Velocity 中定义模板来生成 Java 代码?

Java : Creating a Thread Pool in the Server application

java - Springs MVC JSON 响应并将其转换为 JS 对象

deployment - 云中的 Playframework 2

java - 如何在单元测试中验证方法将异步执行,即在单独的线程中执行?

java - 如何在 Spring 中运行 @PostConstruct 非阻塞?