【问题标题】:how to update class by socket如何通过套接字更新类
【发布时间】:2018-12-29 21:25:06
【问题描述】:

// 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 );
        }
    }
}

我们正在制作一款游戏,但我们遇到了一些问题。 第一个进入游戏的用户无法获得其他用户的房间 课堂广播。 我的意思是,另一个用户或另一个用户可以获得房间类广播,但第一个用户无法获得更新的房间信息。 如何更新房间类广播问题? 我们正在使用套接字进行通信。

【问题讨论】:

  • 请勿在此处张贴文字图片。发布文本。

标签: java sockets serialization objectinputstream objectoutputstream


【解决方案1】:

您总是发送相同的对象,因此序列化实际上不会重新发送它:它节省了,如对象序列化规范中所述。所以更新并再次发送不会影响接收方接收到的对象。

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

【讨论】:

  • 哦..我们解决了。因为你,我们的团队很高兴。你保存了我们的项目。
  • 如果对您有帮助,您可能还想接受答案!请在此处查看如何接受答案 -> meta.stackexchange.com/questions/5234/….
  • @ParkJ No. 解决了。您应用了我发布的解决方案。如果你觉得它有用,你应该点赞,如果它解决了你的问题,你至少应该考虑接受它。
猜你喜欢
  • 1970-01-01
  • 2014-05-27
  • 1970-01-01
  • 2019-07-10
  • 1970-01-01
  • 2015-03-05
  • 1970-01-01
  • 2016-01-31
  • 1970-01-01
相关资源
最近更新 更多