smartfoxserver 2x 数据共享问题

1.静态类,发觉不能共享数据,,简单的解决方法是,复制多一份扩展到 \extensions\__lib__\ 目录。。。不过不推荐这样做,因为你每改一次,都要复制一次

2.客户端发送请求时,不要指定房间,请看CODE

        //smartFox.Send(new ExtensionRequest("mmove", moveObj, smartFox.LastJoinedRoom));
        smartFox.Send(new ExtensionRequest("move", moveObj));

折腾了很久搞定。。。。

不过第二种我没试过用静态数组来保存,,如果你测试成功留个言吧,

第二种我是在主MAIN 扩展里加个变量,模仿官方的写法的。。共享的,如果你用静态变量来保存不行的话,可以试试这样。

    private World world;
    public World getWorld()
    {
        return world;
    }
    public void init() {
        //trace("\n++++++++++++++++++++init+++++++++++++++++++++\n");
        // login -> zonejoin -> ext init
        // destroy -> remove join room ->  DISCONNECT
        world=new World(this);
        addEventHandler(SFSEventType.USER_LOGIN, LoginHandler.class); 
        addEventHandler(SFSEventType.USER_JOIN_ZONE, ZoneJoinEventHandler.class);
        addEventHandler(SFSEventType.USER_LOGOUT, LogoutHandler.class); 
        addEventHandler(SFSEventType.USER_DISCONNECT, LogoutHandler.class); 
        //addEventHandler(SFSEventType.USER_JOIN_ROOM, JoinRoomHandler.class);
        //initMysql();
        
        //addRequestHandler("createPlayer", CreatePlayerRequestHandler.class);
        addRequestHandler("attack", AttackRequestHandler.class); 
        addRequestHandler("move", MoveRequestHandler.class);

    }
原文地址:https://www.cnblogs.com/solq/p/2576035.html