下面是一个线程,它有一个监听端口 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/