Hallo liebes Forum,
Ich habe eine Klasse "Message" und möchte ein Objekt dieser Klasse vom Server zum Client mittels ObjectOutputStream senden.
Klasse Message:
Server:
Client:
An sich ja relativ simpel, aber ich scheine irgendetwas zu übersehen, denn die Message kommt nicht an. Über Hilfe würde ich mich sehr freuen. 🙂
Ich habe eine Klasse "Message" und möchte ein Objekt dieser Klasse vom Server zum Client mittels ObjectOutputStream senden.
Klasse Message:
Java:
import java.io.Serializable;
@SuppressWarnings("serial")
public class Message implements Serializable {
int clientID;
public Message(int id){
this.clientID = id;
}
public int getID(){
return clientID;
}
}
Server:
Java:
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
static ServerSocket serverSocket;
static Socket socket;
static ObjectOutputStream oos;
public static void main(String[] args) {
Message testmsg = new Message(23);
try {
System.out.println("Starte Server...");
serverSocket = new ServerSocket(7777);
System.out.println("Server online.");
} catch (IOException e) {
System.out.println("Probleme mit Serverinitialisierung.");
}
try {
socket = serverSocket.accept();
oos = new ObjectOutputStream(socket.getOutputStream());
} catch (IOException e) {
System.out.println("Konnte Verbindung zu Client nicht herstellen.");
}
try {
oos.writeObject(testmsg);
} catch (IOException e) {
System.out.println("Fehler beim Senden der Nachricht.");
}
}
}
Client:
Java:
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class Client {
static Socket socket;
static ObjectInputStream ois;
public static void main(String[] args) {
Message input = null;
try {
socket = new Socket("localhost", 7777);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
System.out.println("Konnte Verbindung zu Server nicht herstellen.");
}
try {
ois = new ObjectInputStream(socket.getInputStream());
} catch (IOException e) {
System.out.println("Inputstream konnte nicht aufgebaut werden.");
}
try {
input = (Message) ois.readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println("Message ID: " + input.getID());
}
}
An sich ja relativ simpel, aber ich scheine irgendetwas zu übersehen, denn die Message kommt nicht an. Über Hilfe würde ich mich sehr freuen. 🙂