-1
我有一個奇怪的問題發送一個我通過套接字創建的可序列化的對象。事實上,如果我在同一臺機器上運行服務器和客戶端,它的運行狀況良好,但如果服務器和客戶端在不同的機器上,則服務器端的重新對象爲空(大小等於零)通過套接字發送一個可序列化的對象
任何一個有一個想法來解決這個問題? (代碼是波紋管)
服務器:
public static void main() {
...
InputStream is = mysocket.getInputStream();
ObjectInputStream ois = new ObjectInputStream(is);
ArrayList<MyObject> list_of_object;
list_of_object = (ArrayList<MyObject>) ois.readObject();
logger.log(Level.INFO,"object readen with size : "+list_of_object.size());
...
}
客戶:
public static void main() {
...
ObjectOutputStream oos = new ObjectOutputStream(mysocket.getOutputStream());
oos.writeObject(list_of_object);
...
}
對象中的'size()'方法是做什麼的? 「你的意思是」服務器端的readen對象是空的(大小等於零)「?你應該更多的細節和解釋。 –
我的對象是ArrayList,所以它是ArrayList對象的大小方法(返回列表中的元素數) – user1027336
如果您正在編寫/讀取ArrayList,那麼您爲什麼要將讀取的對象轉換爲MyObject。 –