我想通過套接字通道發送序列化對象。 我想讓「Hi friend」字符串作爲序列化對象,然後在socket通道中寫入這個對象,而在另一端我想讀取同一個對象並檢索數據。如何在套接字通道中發送和接收序列化對象
我想用Java做的所有這些事情SocketChannel
。這個怎麼做? 我已經嘗試過像下面這樣,但沒有在接收端獲得任何數據。
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;
}
的問題是缺少! – tuergeist 2009-09-21 06:50:07
您的SocketChannel是否已經打開並連接? – tuergeist 2009-09-21 06:56:06
是套接字通道是開放和連接 – 2009-09-22 04:31:05