public class Netzwerk {
private static final int port = 1337;
private static OutputStream out;
private static Socket clientSocket;
private static ObjectOutputStream oos;
/**
*Diese Methode dient dazu, die aktuellen Spieldaten
*vom Server an alle Clients zu senden.
*@param spd: ein Array wo, von jedem Spieler, Position usw enthalten ist
*@param cIP: ein Array wo alle Client-IPs gespeichert sind,
*in richtiger Reihenfolge nach spd
*/
public static void sendeDaten(SpielDaten[] spd, String[] cIP) {
try {
for (int i = 0; i < 10 ; i++) {
if(cIP[i] != null) {
clientSocket = new Socket(cIP[i],port);
Object yourData = (Object)spd[i];
out = clientSocket.getOutputStream();
oos = new ObjectOutputStream(out);
oos.writeObject(yourData);
oos.flush();
}
}
}catch (Exception e) {
JOptionPane.showMessageDialog(null,"ServerSendError",
"",JOptionPane.ERROR_MESSAGE);
}
}
/**
*Diese Methode dient dazu, die gedrückten Tasten von einem beliebigen
*Client an den Server zu schicken.
*@param gt: Das Byte, in dem die gedrückten Tasten codiert sind.
@param sIP: die Server IP
*/
public static void sendeDaten(byte gt, String sIP) {
try {
clientSocket = new Socket (sIP,port);
OutputStream out = clientSocket.getOutputStream();
out.write(gt);
}catch(Exception e) {
JOptionPane.showMessageDialog(null,"ClientSendError",
"",JOptionPane.ERROR_MESSAGE);
}
}
/**
*Diese Methode dient dazu, einmalig vor Spielbeginn, alle Daten
*der Spieler (Name, ID usw) an alle Clients zu schicken.
*@param sd: Ein Array, in dem die Spielerdaten eines jedem Spielers gesp. sind
*@param cIP: in Array wo alle Client-IPs gespeichert sind,
*in richtiger Reihenfolge nach sd
*/
public static void sendeDaten(SpielerDaten[] srd, String[] cIP) {
try {
for (int i = 0; i < 10 ; i++) {
if(cIP[i] != null) {
clientSocket = new Socket(cIP[i],port);
Object yourData = (Object)srd[i];
out = clientSocket.getOutputStream();
oos = new ObjectOutputStream(out);
oos.writeObject(yourData);
oos.flush();
}
}
}catch (Exception e) {
JOptionPane.showMessageDialog(null,"ServerSendError",
"",JOptionPane.ERROR_MESSAGE);
}
}
}