Hallo zusammen um mich ein wenig mit der Netzwerkprogrammierung vertraut zu machen schreibe ich aktuell einen rudimentären Chat. Ich bin schon ewig an diesem kleinen Quellcode und bekommen immer andere Exceptions um die Ohren geworfen. Aber Ich glaube mich kurz vor dem Ziel zusehen
Hier mal der Quellcode:
Ich weiß de Message einfach Object zubennen ist nicht grade der beste Still
folgende Fehler werden auf der Konsole ausgegeben:
## Message:
j
Object received: j
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: Object
## Message:
java.io.NotSerializableException: Object
at java.i
bjectOutputStream.writeObject0(Unknown Source)
at java.i
bjectOutputStream.writeObject(Unknown Source)
at Client.run(Client.java:36)
at java.lang.Thread.run(Unknown Source)
Ich bin echt verzweifelt weil ich noch nie solange an so einem popel Programm gesessen habe
Danke schon mal im vorraus 
Hier mal der Quellcode:
Java:
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Scanner;
public class Client implements Runnable{
public Socket client;
public ObjectOutputStream oos;
public ObjectInputStream ois;
public Scanner keyboard = new Scanner(System.in);
public Object msg;
public Client(int port){
try {
client = new Socket("localhost",port);
oos = new ObjectOutputStream(client.getOutputStream());
ois = new ObjectInputStream(client.getInputStream());
} catch (IOException e) {
e.printStackTrace();
}
Thread t = new Thread(this);
t.start();
}
public void run() {
while(true){
System.out.println("## Message:");
msg= new Object(keyboard.nextLine());
try {
oos.writeObject(msg);
oos.flush();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
Java:
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server implements Runnable{
public int port;
public ServerSocket server;
public Socket client;
public ObjectOutputStream oos;
public ObjectInputStream ois;
public Object msg;
public Server(int port){
this.port = port;
try {
server = new ServerSocket(port);
} catch (IOException e) {
System.err.println(e.toString());
}
Thread th = new Thread(this);
th.start();
}
public void run() {
while(true){
try {
client = server.accept();
oos = new ObjectOutputStream(client.getOutputStream());
ois = new ObjectInputStream(client.getInputStream());
while(true){
msg = (Object)ois.readObject();
if(msg.getMsg().equals("exit")){
System.out.print("Chat beendet");
break;
}
}
} catch (IOException | ClassNotFoundException e) {
System.err.println(e.toString());
}
}
}
public static void main(String[] args) {
new Server(8888);
new Client(8888);
}
}
Java:
public class Object {
private String msg;
public Object(String msg){
this.setMsg(msg);
System.out.println("Object received: "+msg);
}
public String getMsg() {
return msg;
}
public void setMsg(String msg) {
this.msg = msg;
}
}
Ich weiß de Message einfach Object zubennen ist nicht grade der beste Still
folgende Fehler werden auf der Konsole ausgegeben:
## Message:
j
Object received: j
java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: Object
## Message:
java.io.NotSerializableException: Object
at java.i
at java.i
at Client.run(Client.java:36)
at java.lang.Thread.run(Unknown Source)
Ich bin echt verzweifelt weil ich noch nie solange an so einem popel Programm gesessen habe