以下是一个线程,该线程在端口15445上监听了SOCKET。
每当向其发送数据报数据包时,在向其中添加一个字符串(来自SERVER的答复)后,它都会转发回发件人的地址。我希望此代码在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。您为什么不能仅将其作为服务运行?为什么认为您需要Web服务器?

09-26 21:55
查看更多