【发布时间】:2014-04-11 20:24:02
【问题描述】:
这可能是一个我不知道的愚蠢问题,但似乎我被困在这里了。
所以我有一个服务器,我在这样的数组列表中添加了一些元素
ArrayList<Accounts> acc= new ArrayList<>();
在run()
我有这样的事情
oos.writeObject(acc);
oos.flush();
如果我System.out.println(acc); 它显示一切都很好。
在客户端我只是使用这样的东西:
ArrayList<Accounts> obj;
obj = (ArrayList <Accounts> )ois.readObject();
但它最终什么也没读。
这是来自服务器的错误:
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:109)
at java.net.SocketOutputStream.write(SocketOutputStream.java:153)
at java.io.ObjectOutputStream$BlockDataOutputStream.drain(ObjectOutputStream.java:1857)
at java.io.ObjectOutputStream$BlockDataOutputStream.setBlockDataMode(ObjectOutputStream.java:1766)
at java.io.ObjectOutputStream.writeNonProxyDesc(ObjectOutputStream.java:1273)
at java.io.ObjectOutputStream.writeClassDesc(ObjectOutputStream.java:1227)
at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1411)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1174)
at java.io.ObjectOutputStream.writeFatalException(ObjectOutputStream.java:1557)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:349)
at MyThread.run(ServerTwoThread.java:52)
我认为服务器由于某种原因无法发送列表,是的,我的帐户类是可序列化的!
希望有一些意见!
编辑:我找到了,不是oos,而是ooos ...
【问题讨论】:
-
我在我的应用程序中使用
DataOutputStream对象初始化了ObjectOutputStream
标签: java multithreading sockets serialization