Seri hale getirilmiş bir nesneyi bir soket kanalı üzerinden aktarmak istiyorum. Seri hale getirilmiş nesne olarak "Merhaba arkadaşım" dizesini yapmak ve sonra bu nesneyi soket kanalına yazmak istiyorum, diğer ucunda ise aynı nesneyi okumak ve veriyi almak istiyorum.Senkronize edilmiş nesneyi soket kanalında nasıl gönderilir ve alırsınız
Java SocketChannel
kullanarak yapmak istediğim tüm bu şeyler. Bu nasıl yapılır? Aşağıdaki gibi denedim, ancak alıcı tarafında herhangi bir veri almadım.
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;
}
soruya kullanımınızı takip! – tuergeist
SocketChannel'iniz zaten açık ve bağlı mı? – tuergeist
evet soket kanalı açık ve bağlı –