Beispiel #1
0
        //用户登陆
        public void do1001(MessageNode node)
        {
            ClientNode client = node.socket;
            ByteBuffer buffer = node.buffer;

            string name = buffer.readString();

            if (g.ContansUser(name))
            {
                client.send(ConstomMessage.getError("该用户已在别处登陆,服务器拒绝登陆!"));
                return;
            }
            if (!FFactory.Exists(Share.USER_SAVE_PATH + name))
            {
                client.send(ConstomMessage.getError("用户名错误!"));
                return;
            }
            User   user = FFactory.ReadObject <User>(Share.USER_SAVE_PATH + name);
            string pwd  = buffer.readString();

            if (!user.Password.Equals(pwd))
            {
                client.send(ConstomMessage.getError("密码错误!"));
            }
            else
            {
                user.BindSocket(client);
                g.addUser(user);

                ByteBuffer buf = new ByteBuffer();
                buf.writeInt(Protcol.用户登陆);
                buf.writeString(user.UserName);
                buf.writeString(user.ChinaName);
                //debug.logln(user.Money, user.Duanwei, user.Image, user.Text);
                buf.writeInt(user.Money);
                buf.writeString(user.Duanwei);
                buf.writeString(user.Image);
                buf.writeString(user.Text);

                client.send(buf);


                GameHall.shareGameHall().addGameHall(user);

                //debug.logln(user.ChinaName + " 登陆成功");

                //user.ReadImageBuffer();//先把图片读出来
            }
        }