Added basic server structure
parent
376750b8d2
commit
84bdcbc897
|
|
@ -0,0 +1,57 @@
|
|||
package vs;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.DatagramPacket;
|
||||
import java.net.DatagramSocket;
|
||||
import java.util.concurrent.ExecutorService;
|
||||
import java.util.concurrent.Executors;
|
||||
|
||||
|
||||
public class Server {
|
||||
private static final int BUFFSIZE = 512;
|
||||
private static final ExecutorService executor = Executors.newFixedThreadPool(2);
|
||||
|
||||
public interface PacketHandler {
|
||||
void handlePacket(DatagramSocket socket, DatagramPacket packet, String serviceName);
|
||||
}
|
||||
|
||||
public static void main(String[] args) {
|
||||
startSocket(new DiscoveryHandler(), 8888, "Discovery Service");
|
||||
startSocket(new SyslogHandler(), 8887, "Logging Service"); //? Port geraten idk
|
||||
}
|
||||
|
||||
private static void startSocket(PacketHandler handler, int port, String serviceName) {
|
||||
executor.execute(() -> {
|
||||
try (DatagramSocket socket = new DatagramSocket(port)) {
|
||||
System.out.println(serviceName + " listening on port " + port);
|
||||
byte[] buffer = new byte[BUFFSIZE]; //? Maybe andere Größe
|
||||
|
||||
while (true) {
|
||||
DatagramPacket packetIn = new DatagramPacket(buffer, BUFFSIZE); //? Nicht sicher ob die Arguments richtig sind
|
||||
socket.receive(packetIn);
|
||||
|
||||
handler.handlePacket(socket, packetIn, serviceName);
|
||||
}
|
||||
} catch (IOException e) {
|
||||
//? Maybe besseres Error handling
|
||||
System.err.println(serviceName + " error: " + e.getMessage());
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
static class SyslogHandler implements PacketHandler {
|
||||
@Override
|
||||
public void handlePacket(DatagramSocket socket, DatagramPacket packet, String serviceName) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
static class DiscoveryHandler implements PacketHandler {
|
||||
@Override
|
||||
public void handlePacket(DatagramSocket socket, DatagramPacket packet, String serviceName) {
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue