So senden und empfangen Sie serialisierte Objekte im Socket-Kanal

Ich möchte ein serialisiertes Objekt über einen Socket-Kanal übertragen. Ich möchte "Hallo Freund" Zeichenfolge als serialisiertes Objekt machen und dann dieses Objekt in Socket-Kanal schreiben, während am anderen Ende ich das gleiche Objekt lesen und die Daten abrufen möchten.

All diese Dinge möchte ich mit Java machenSocketChannel. Wie macht man das? Ich habe versucht, wie unten, aber keine Daten auf der Empfängerseite erhalten.

private static void writeObject(Object obj, SelectionKey selectionKey) {
    ObjectOutputStream oos;
    try {
        SocketChannel channel = (SocketChannel) selectionKey.channel();
        oos = new ObjectOutputStream(Channels.newOutputStream(channel));

        oos.writeObject(obj);
    } catch (IOException ex) {
        ex.printStackTrace();
    }
}

private static Object readObject(SelectionKey selectionKey) {
    ObjectInputStream ois;
    Object obj = new Object();
    SocketChannel channel = (SocketChannel) selectionKey.channel();
    try {
        ois = new ObjectInputStream(Channels.newInputStream(channel));
        obj = ois.readObject();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
    return obj;
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage