在web服务器上运行JavaEE应用程序
下面是一个线程,该线程在端口15445处有一个套接字侦听。 无论何时向其发送数据报数据包,它都会在添加字符串(来自服务器的回复)后转发回发送者的地址。我想让这段代码在互联网上的某个地方运行,但我不知道从哪里开始 可能吗?我可以在Tomcat服务器上运行此代码,还是需要做一些不同的事情在web服务器上运行JavaEE应用程序,java,jakarta-ee,hosting,hole-punching,nat-traversal,Java,Jakarta Ee,Hosting,Hole Punching,Nat Traversal,下面是一个线程,该线程在端口15445处有一个套接字侦听。 无论何时向其发送数据报数据包,它都会在添加字符串(来自服务器的回复)后转发回发送者的地址。我想让这段代码在互联网上的某个地方运行,但我不知道从哪里开始 可能吗?我可以在Tomcat服务器上运行此代码,还是需要做一些不同的事情 import java.io.*; import java.net.*; public class HelloWorld extends Thread { protected DatagramSocke
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。为什么你不能把它当作服务来运行呢?为什么你认为你需要一个网络服务器 使用Jetty(echo server是afaik教程之一)并将您的端口公开给internet
如果您的代码工作正常,请通过路由器转发必要的端口,以便从internet访问。如果您正在寻找托管解决方案,vServer是一种廉价的开始方式。是进行网络配置的地方。是否要在internet上运行此代码?就这一段?您的具体用例是什么?