N
Nabralanca
Gast
Heyhey^^
ums gleich vornewegzunehmen, ich habe mich an der suche des Forums versucht, bin aber iwie dran gescheitert und die gefundenen Threats haben mir auch net ganz geholfen.
Folgende Situation: Wir in der Schule müssen im Informatik unterricht ein Spiel programmieren. Ich habe ein einfaches game vor, was aber einen Multiplayer haben soll (sowas wie jump and run gegeneinander). Wir programmieren mit Eclipse und Java applets.
Wie kann ich nun Daten zwischen zwei Programmen auf zwei verschiedenen rechnern via Internet austauschen?
(Ip adresse und port ist bekannt)
Ich habe es schon geschafft via sockets eine Verbindung zwischen zwei servern aufzubauen: (aus nem i-net tutorial kopiert)
client :
und als server:
damit kann ich von einem rechner anfragen auf den server schicken, der mir dann antwortet.
Um zum Thema zurückzukommen: wie kann ich das jetzt umbauen zu dem prinzip:
a sendet b nen befehl
b empfängt befehl und wertet ihn aus
b führt befehl aus
?
Danke schonmal für antworten^^
ums gleich vornewegzunehmen, ich habe mich an der suche des Forums versucht, bin aber iwie dran gescheitert und die gefundenen Threats haben mir auch net ganz geholfen.
Folgende Situation: Wir in der Schule müssen im Informatik unterricht ein Spiel programmieren. Ich habe ein einfaches game vor, was aber einen Multiplayer haben soll (sowas wie jump and run gegeneinander). Wir programmieren mit Eclipse und Java applets.
Wie kann ich nun Daten zwischen zwei Programmen auf zwei verschiedenen rechnern via Internet austauschen?
(Ip adresse und port ist bekannt)
Ich habe es schon geschafft via sockets eine Verbindung zwischen zwei servern aufzubauen: (aus nem i-net tutorial kopiert)
client :
Java:
public static void main(String[] args) throws IOException {
Socket Socket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
Socket = new Socket("192.168.178.21", 4444);
out = new PrintWriter(Socket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(Socket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("No Host");
System.exit(1);
} catch (IOException e) {
System.err.println("No Connection");
System.exit(1);
}
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String fromServer;
String fromUser;
while ((fromServer = in.readLine()) != null) {
System.out.println("Server: " + fromServer);
if (fromServer.equals("Bye."))
break;
fromUser = stdIn.readLine();
if (fromUser != null) {
System.out.println("Client: " + fromUser);
out.println(fromUser);
}
}
out.close();
in.close();
stdIn.close();
Socket.close();
}
und als server:
Java:
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = null;
try {
serverSocket = new ServerSocket(4444);
System.out.println("Erfolgreich erstellt");
} catch (IOException e) {
System.err.println("Could not listen on port: 4444.");
System.exit(1);
}
Socket clientSocket = null;
try {
clientSocket = serverSocket.accept();
System.out.println("Socket aufgenommen");
} catch (IOException e) {
System.err.println("Accept failed.");
System.exit(1);
}
PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
BufferedReader in = new BufferedReader(
new InputStreamReader(
clientSocket.getInputStream()));
String inputLine, outputLine;
KnockKnockProtocol kkp = new KnockKnockProtocol();
outputLine = kkp.processInput(null);
out.println(outputLine);
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String ins = null;
while ((inputLine = in.readLine()) != null) {
System.out.println("schleife");
outputLine = kkp.processInput(inputLine);
String s = "";
try {
while ((ins = br.readLine()) != null) {
s = ins;
}
} catch (IOException e) {
e.printStackTrace();
}
//Anfrage vom Client ausgeben
System.out.println("Client : "+inputLine);
out.println(s);
if (inputLine.equals("Bye."))
break;
}
Console.class.getMethods();
out.close();
in.close();
clientSocket.close();
serverSocket.close();
}
damit kann ich von einem rechner anfragen auf den server schicken, der mir dann antwortet.
Um zum Thema zurückzukommen: wie kann ich das jetzt umbauen zu dem prinzip:
a sendet b nen befehl
b empfängt befehl und wertet ihn aus
b führt befehl aus
?
Danke schonmal für antworten^^