Java 如何通过套接字更新类

Java 如何通过套接字更新类,java,sockets,serialization,objectinputstream,objectoutputstream,Java,Sockets,Serialization,Objectinputstream,Objectoutputstream,//客户端源代码 而(!isStop){ 试一试{ Object ob=mc.getOis().readObject(); 试试{ 消息=(字符串)ob; }catch(ClassCastException e){ 试一试{ 用户=(用户)ob; mc.user=(user)ob; message=“无”; }捕获(ClassCastException ee){ 房间=(房间)ob; 设置室(室); System.out.println(“房间进来”); 对于(int i=0;i您总是发送相同的

//客户端源代码
而(!isStop){
试一试{
Object ob=mc.getOis().readObject();
试试{
消息=(字符串)ob;
}catch(ClassCastException e){
试一试{
用户=(用户)ob;
mc.user=(user)ob;
message=“无”;
}捕获(ClassCastException ee){
房间=(房间)ob;
设置室(室);
System.out.println(“房间进来”);

对于(int i=0;i您总是发送相同的对象,因此序列化实际上不会重新发送它:正如对象序列化规范中所述,它节省了资源。因此更新并再次发送它不会影响接收器接收到的对象


您需要调查
ObjectOutputStream.reset()
ObjectOutputStream.writeUnshared()

哦..我们解决了它。我们的团队因为你而非常高兴。你拯救了我们的项目。如果答案对你有帮助,你可能也愿意接受它!请在这里查看如何接受答案->。@ParkJ否。我解决了它。你应用了我发布的解决方案。如果你发现它有用,你应该投票表决,如果它解决了你的问题,你至少应该反对我接受它。不要在这里张贴文字图片。张贴文字。
// CLIENT SOURCE

while(!isStop){
    try{
        Object ob = mc.getOis().readObject();
        try{ 
            message = (String) ob;
        } catch (ClassCastException e){

            try {
                user = (User) ob;
                mc.user = (User) ob;
                message = "none";
            } catch ( ClassCastException ee ) {

                Room room = (Room) ob;
                mc.setRoom(room);   
                System.out.println("room come in");
                for (int i = 0; i<mc.room.userlist.size(); i++ )
                {
                    System.out.println("ThreadUserNum:" + room.userlist.get(i).getPlayer_Num());
                }


                mc.roomidimg();
                message = "none";

            }   
        }
    }
}

// SERVER SOURCE
public void roombroodcast ( Room msg, int room_id) throws IOException{
    if (room_id == 1){
        for( ServerThread ct : sv.getroom1list() ){
            for( int i = 0; i<msg.getUserlist().size(); i++){
                System.out.println(i + "broodcast:" + msg.getUserlist().get(i).getUser_Id());
            }
            ct.send( msg );
        }
    } else {
        for( ServerThread ct : sv.getroom2list() ){
            ct.send( msg );
        }
    }
}