底层要能把对象序列化,这个对象要实现一个可序列化的接口:javaioSerializable。
类通过实现 javaioSerializable
接口以启用其序列化功能。未实现此接口的类将无法使其任何状态序列化或反序列化。可序列化类的所有子类型本身都是可序列化的。序列化接口没有方法或字段,仅用于标识可序列化的语义。
writeObject 方法负责写入特定类的对象的状态,以便相应的 readObject 方法可以恢复它。通过调用
outdefaultWriteObject 可以调用保存 Object 的字段的默认机制。该方法本身不需要涉及属于其超类或子类的状态。通过使用
writeObject 方法或使用 DataOutput 支持的用于基本数据类型的方法将各个字段写入 ObjectOutputStream,状态可以被保存。
readObject 方法负责从流中读取并恢复类字段。它可以调用 indefaultReadObject
来调用默认机制,以恢复对象的非静态和非瞬态字段。defaultReadObject
方法使用流中的信息来分配流中通过当前对象中相应指定字段保存的对象的字段。这用于处理类演化后需要添加新字段的情形。该方法本身不需要涉及属于其超类或子类的状态。通过使用
writeObject 方法或使用 DataOutput 支持的用于基本数据类型的方法将各个字段写入 ObjectOutputStream,状态可以被保存。inreadLine(); 是要读到有换行符才结束的,在这个之前都是堵塞的
你在你发送的
outwrite("quit"); ---->>outwrite("quit/r");
outwrite("链接用时"+(end-start)+"毫秒/r"); //计算该客户链接的时间1、首先为了方便调试,先创建一个界面用于显示客户端连接信息。
2、其次基于javafx包写的一个简单界面,使用多线程实现多客户端与服务器进行通信。
3、最后java项目内实现n个tcp客户端连接通信即可设计,安全便捷。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)