Hallo zäme, ich habe folgenden Code:
Da ich ziemlich ein Anfänger bin ist meine Frage: Was muss ich in der main Methode schreiben, damit das Objekt s vom Typ MainServer durch die run-Methode läuft? Das Objekt s möchte ich anschliessen einer neuen Klasse übergeben, welche einen neuen Thread erstellt.
Java:
public class MainServer implements Runnable {
// Instance variables
private static MainServer s;
private ArrayList<PrintWriter> list_clientWriter;
ServerSocket m_ServerSocket;
int port = 16001;
int clients = 0;
/**
* Method to initialize the server returns true if server has been
* initialized ordinarily otherwise returns false
*
* @return returns true if ordinarily intialized otherwise false
*/
public boolean runServer() {
try {
m_ServerSocket = new ServerSocket(port);
System.out.println("Server erstellt. Port: " + port);
list_clientWriter = new ArrayList<PrintWriter>();
return true;
} catch (IOException e) {
System.out.println("Server konnte nicht gestartet werden");
e.printStackTrace();
returnfalse;
}
}
/**
* Method where Server accepts several clients. For each ClientSocket a new
* Print Writer will be initialized and set to the PrintWriter ArrayList
*/
public void listenToClients() {
while (clients < 2) {
PrintWriter writer;
try {
clients++;
Socket clientSocket = m_ServerSocket.accept();
writer = new PrintWriter(clientSocket.getOutputStream());
list_clientWriter.add(writer);
System.out.println("Client " + clients + " hinzugef?gt.");
new Thread(new ServerThreadForClient(clientSocket, clients,
s.getServer())).start();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
@Override
public void run() {
s = new MainServer();
if (s.runServer()) {
s.listenToClients();
;
} else {
// Do nothing
}
}
//Main method to start the server
public static void main (String[] args)
{
//Was muss ich hier schreiben damit der Server startet?
}
Da ich ziemlich ein Anfänger bin ist meine Frage: Was muss ich in der main Methode schreiben, damit das Objekt s vom Typ MainServer durch die run-Methode läuft? Das Objekt s möchte ich anschliessen einer neuen Klasse übergeben, welche einen neuen Thread erstellt.