M
michael p.
Gast
Hallo, frohes neues Jahr euch allen,
ich habe einen Server und einen Clienten für eine Bücherverwaltung
programmiert. Wenn ich dem Server nun den Befehl schicke ein neues Buch zu speichern,
dann startet er die Speicherroutine, aber wenn ich ihm dann das Buch schicke, kriegt der Server
das nicht.
Das was ich nicht verstehe ist, wieso ich ihm das Kommando zum Speichern schicken kann und er es auch bekommt
aber wenn ich ein Buch schreibe nimmt der Server es nicht an
Hier noch die Methoden auf der Serverseite
Also ich steh zurzeit total auf dem schlauch
kann mir da jemand vielleicht helfen ?
Gruß michael
ich habe einen Server und einen Clienten für eine Bücherverwaltung
programmiert. Wenn ich dem Server nun den Befehl schicke ein neues Buch zu speichern,
dann startet er die Speicherroutine, aber wenn ich ihm dann das Buch schicke, kriegt der Server
das nicht.
Das was ich nicht verstehe ist, wieso ich ihm das Kommando zum Speichern schicken kann und er es auch bekommt
Code:
public void writeToServer(int command){
try{
output.write(command);
output.write("\n");//->ist immer ein BufferedWriter
output.flush();
}
catch(IOException ie){
gui.errorMessage("I/O Verbindung konnte nicht hergestellt werden");
}
}
aber wenn ich ein Buch schreibe nimmt der Server es nicht an
Code:
public void writeBookToServer(Book book){
try{
output.write(book.toString(),0,book.toString().length());
output.write("\n");
output.flush();
}
catch(IOException ie){
gui.errorMessage("I/O Verbindung konnte nicht hergestellt werden");
}
}
Hier noch die Methoden auf der Serverseite
Code:
//das geht anscheinend
public int readFromClient(){
try{
int command=Integer.valueOf(input.read());//-> ist immer ein BufferedReader
return command;
}
catch(IOException ie){
System.out.println("I/O Verbindung konnte nicht hergestellt werden");
Thread.currentThread().interrupt();
return -1;
}
}
//und ab hier geht's nicht
private Book readBook(String b){
System.out.print("Hallo");
System.out.println(b);
String[]bb=b.split("_");
System.out.print(bb[0]);
System.out.println(bb.length);
Book book=new Book();
book.setAuthor(bb[0]);
book.setTitle(bb[1]);
book.setDate_of_publication(new Integer(bb[2]));
book.setPublisher(bb[3]);
book.setPrinting(new Integer(bb[4]));
book.setGenre(bb[5]);
book.setISBN(new Long(bb[6]));
book.setKeywords(bb[7]);
return book;
}
public Book readBookFromClient(){
try{
String b="";
while((b=input.readLine())==null);
Book book=readBook(b);
return book;
}
catch(IOException ie){
System.out.println("I/O Verbindung konnte nicht hergestellt werden");
Thread.currentThread().interrupt();
return null;
}
}
Also ich steh zurzeit total auf dem schlauch
kann mir da jemand vielleicht helfen ?
Gruß michael