以下は、ポート15445でリッスンしているSOCKETを持つスレッドです。データグラムパケットが送信されるたびに、文字列(SERVERからの応答)を追加した後、送信者のアドレスに転送されます。このコードをインターネット上のどこかで実行したいのですが、どこから始めればよいのかわかりません。
出来ますか?このコードを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();
}
}