[英]how to pass/write hashtable as object between sockets in java
im trying to write hashtable between sockets in java but getting this error : Error : writing aborted; 即时通讯试图在Java中的套接字之间写入哈希表,但出现此错误:错误:编写中止; java.io.NotSerializableException: java.net.Socket
java.io.NotSerializableException:java.net.Socket
How i can write 我怎么写
EDITED : 编辑:
socktmp= mainSocket.accept();
rdr= new BufferedReader( new InputStreamReader(socktmp.getInputStream()));
String t="";
String name=rdr.readLine();
//rdr.close();
LstClient.AddClient(name, socktmp);
objwriter = new ObjectOutputStream(socktmp.getOutputStream());
objwriter.writeObject(LstClient.clients);
objwriter.flush();
objwriter.close();
You can't serialise a Socket. 您无法序列化Socket。 You can only serialize HashMaps of objects which are Serializable.
您只能序列化可序列化对象的HashMap。 Check you are not adding any anonymous or nested classes with implicit references to an Object which holds a Socket.
检查您是否没有添加任何对包含Socket的对象的隐式引用的匿名或嵌套类。
BTW: Don't use Hashtable if you can avoid it. 顺便说一句:如果可以避免,请不要使用Hashtable。 Use HashMap or LinkedHashMap or ConcurrentHashMap instead.
请改用HashMap或LinkedHashMap或ConcurrentHashMap。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.