Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package de.Panakotta00.AndromedaMC;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.PrintStream;
- import java.net.InetAddress;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class SocketSystem implements Runnable {
- AndromedaMC main;
- Thread thread;
- boolean loop;
- ServerSocket socket;
- int port;
- Socket lobby;
- LobbyListener lobbyListener;
- public SocketSystem(AndromedaMC main, int port) {
- this.main = main;
- this.port = port;
- try {
- socket = new ServerSocket(port);
- thread = new Thread(this);
- thread.start();
- System.out.println("ServerSocket auf Port " + port + " und IP " + socket.getInetAddress() + " gestartet!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- @Override
- public void run() {
- while (loop) {
- try {
- Socket socket = this.socket.accept();
- BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- String cmd = in.readLine();
- if (cmd.equals("lobby")) {
- lobby = socket;
- lobbyListener = new LobbyListener(main, this);
- } else if (cmd.equals("arena")) {
- int id = Integer.valueOf(in.readLine());
- String adress = String.valueOf(in.readLine());
- int port = Integer.valueOf(in.readLine());
- main.ss.arenaFinished(id, adress, port);
- }
- System.out.println("Neue Socket connection!");
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- try {
- this.socket.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- @SuppressWarnings("deprecation")
- public void stop() {
- if (loop) {
- loop = false;
- }
- if (!socket.isClosed()) {
- try {
- socket.close();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- if (thread.isAlive()) {
- thread.stop();
- }
- }
- public void arenaFinished(int id, String adress, int port) {
- System.out.println("Der Server mit der ID " + id + " wurde geladen!");
- try {
- PrintStream out = new PrintStream(lobby.getOutputStream());
- out.println("serverFinish");
- out.println(id);
- out.println(adress);
- out.println(port);
- out.flush();
- } catch (IOException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement