コード例 #1
0
ファイル: F_Server.cs プロジェクト: SystemHe/project
        /// <summary>
        /// 用户登录
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="Ip"></param>
        /// <param name="Port"></param>
        /// <param name="State"></param>
        private void UserLogin(ClassMsg msg, System.Net.IPAddress Ip, int Port, int State)
        {
            RegisterMsg registermsg = (RegisterMsg) new ClassSerializers().DeSerializerBinary(new MemoryStream(msg.Data));

            ClassOptionData OptionData = new ClassOptionData(); //创建并引用ClassOptionData
            MsgCommand      msgState   = msg.msgCommand;        //获取接收消息的命令
            String          UserName   = registermsg.UserName;  //登录用户名称
            String          PassWord   = registermsg.PassWord;  //用户密码
            String          vIP        = Ip.ToString();         //用户IP地址

            SqlDataReader DataReader = OptionData.ExSQLReader("Select * From tb_CurreneyUser Where Name = " + "'" + UserName + "'" + " and PassWord = "******"'" + PassWord + "'"); //在数据库中通过用户名和密码进行查找

            DataReader.Read();                                                         //读取查找到的记录
            string ID = Convert.ToString(DataReader.GetInt32(0));                      //获取第一条记录中的ID字段值

            if (DataReader.HasRows)                                                    //当DataReader中有记录信息时
            {
                //修改当前记录的标识为上线状态
                OptionData.ExSQL("Update tb_CurreneyUser Set Sign = " + Convert.ToString((int)(MsgCommand.Logined)) + ",IP = " + "'" + vIP + "',Port = " + "'" + Port.ToString() + "'" + " Where ID = " + ID);
                msg.msgCommand = MsgCommand.Logined; //设置为上线命令
                msg.SID        = ID;                 //用户ID值
                SendMsgToOne(Ip, Port, msg);         //将消息返回给发送用户
                UpdateUserState(msg, Ip, Port);      //更新用户在线状态
            }
            OptionData.Dispose();
            UpdateUser();//更新用户列表
        }
コード例 #2
0
ファイル: F_Register.cs プロジェクト: Objia/myQQClient
        /// <summary>
        /// 确定按键点击事件处理函数
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOK_Click(object sender, EventArgs e)
        {
            if (this.txtPassword.Text.Trim() == this.txtPasswordVerify.Text.Trim())
            {
                RegisterMsg registermsg = new RegisterMsg();
                registermsg.UserName = this.txtUserName.Text.Trim();
                registermsg.UserName = this.txtPassword.Text.Trim();

                byte[] registerData = new ClassSerializers().SerializeBinary(registermsg).ToArray();//将用户信息对象序列化后存入Data

                //定义消息
                ClassMsg msg = new ClassMsg();
                msg.sendKind   = SendKind.SendCommand;
                msg.msgCommand = MsgCommand.Registering;
                msg.Data       = registerData;

                byte[] send_data = new ClassSerializers().SerializeBinary(msg).ToArray();//消息对象序列化
                //发送
                udpSocket1.Send(IPAddress.Parse(this.txtServer.Text.Trim()), Convert.ToInt32(txtPort.Text.Trim()), send_data);
            }
            else
            {
                this.txtPassword.Text       = "";
                this.txtPasswordVerify.Text = "";
                MessageBox.Show("密码与确认密码不匹配,请重新输入。");
            }
        }
コード例 #3
0
        private void button_login_click_Click(object sender, EventArgs e)
        {
            //输入参数处理
            if ((text_login_passwd.Text.Trim()).Length == 0)
            {
                MessageBox.Show("       用户密码不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return;
            }
            if (text_login_passwd.Text.Length < 6)
            {
                MessageBox.Show("       密码太短!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return;
            }

            //传送参数到后台校验
            RegisterMsg registermsg = new RegisterMsg();

            registermsg.UserName = text_login_name.Text.Trim();
            registermsg.PassWord = text_login_passwd.Text.Trim();
            byte[]   registerData = new ClassSerializers().SerializeBinary(registermsg).ToArray();
            ClassMsg msg          = new ClassMsg();

            msg.sendKind   = SendKind.SendCommand;
            msg.msgCommand = MsgCommand.Logining;
            msg.SPort      = this.udpSocket1.LocalPort.ToString();
            msg.SIP        = PubClass.getMacAddr_Local(0);
            msg.Data       = registerData;
            udpSocket1.Send(IPAddress.Parse(Publec_Class.ServerIP), Convert.ToInt32(Publec_Class.ServerPort), new ClassSerializers().SerializeBinary(msg).ToArray());
            Publec_Class.UserName = text_login_name.Text;
        }
コード例 #4
0
    private void OnRegister()
    {
        RegisterMsg msg = new RegisterMsg(accountField.text, pwdField.text);

        MsgManager.Instance.NetMsgCenter.NetRegister(msg, responds =>
        {
            if (responds.Result == RespondsResult.Succ)
            {
                UIMgr.Instance.RemoveFrame();
            }
        });
    }
コード例 #5
0
        private void button_regist_click_Click(object sender, EventArgs e)
        {
            if (text_regist_password.Text.Length < 6)
            {
                MessageBox.Show("       密码太短!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return;
            }
            if (!Publec_Class.IsMail(text_regist_mail.Text.Trim()))
            {
                MessageBox.Show("       邮箱不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return;
            }
            if (!Publec_Class.IsPhone(text_regist_phone.Text.Trim()))
            {
                MessageBox.Show("       电话号不正确!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return;
            }
            if ((text_regist_password.Text.Trim()).Length == 0)
            {
                MessageBox.Show("       用户密码不能为空!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
            }
            else
            {
                if (text_regist_password.Text.Trim() == text_regist_ack_password.Text.Trim())    //当密码输入相同
                {
                    RegisterMsg registermsg = new RegisterMsg();
                    registermsg.UserName = text_regist_name.Text;
                    registermsg.PassWord = text_regist_password.Text;
                    registermsg.phone    = text_regist_phone.Text.Trim();
                    registermsg.mail     = text_regist_mail.Text.Trim();
                    registermsg.MacAddr  = PubClass.getMacAddr_Local(1).Trim();
                    byte[]   registerData = new ClassSerializers().SerializeBinary(registermsg).ToArray();
                    ClassMsg msg          = new ClassMsg();
                    msg.sendKind   = SendKind.SendCommand;
                    msg.msgCommand = MsgCommand.Registering;
                    msg.SPort      = this.udpSocket1.LocalPort.ToString();
                    msg.SIP        = PubClass.getMacAddr_Local(0);
                    msg.Data       = registerData;
                    msg.Suser      = text_regist_name.Text;
                    serID          = PubClass.GetServerIp().Trim();

                    udpSocket1.Send(IPAddress.Parse(serID), Convert.ToInt32(PubClass.GetServerPort().Trim()), new ClassSerializers().SerializeBinary(msg).ToArray());
                }
                else
                {
                    text_regist_password.Text     = "";
                    text_regist_ack_password.Text = "";
                    MessageBox.Show("       输入的密码不匹配,请重新输入!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                }
            }
        }
コード例 #6
0
        private void frmChat_Load(object sender, EventArgs e)
        {
            UserBLL udb = new UserBLL();
            //聊天对象信息表
            DataTable dt = new DataTable();
            //用户好友列表
            DataTable dt1 = new DataTable();
            //用户信息表
            DataTable dt2 = new DataTable();

            dt              = udb.Userinfo(ChatUserID);
            dt1             = udb.GetFriendShipInfo(udb.user.UserID.ToString(), ChatUserID.ToString());
            dt2             = udb.Userinfo(udb.user.UserID);
            Text            = "与" + dt1.Rows[0]["AlternateName"] + "聊天中";
            FriendName.Text = dt1.Rows[0]["AlternateName"].ToString();
            UserName.Text   = dt2.Rows[0]["UserNickName"].ToString();
            if (string.IsNullOrEmpty(dt.Rows[0]["HeadPicture"].ToString()))
            {
                FriendHead.ImageLocation = s + "\\search_teacher.jpg";
            }
            else
            {
                FriendHead.ImageLocation = dt.Rows[0]["HeadPicture"].ToString();
            }
            if (string.IsNullOrEmpty(dt2.Rows[0]["HeadPicture"].ToString()))
            {
                UserHead.ImageLocation = s + "\\search_teacher.jpg";
            }
            else
            {
                UserHead.ImageLocation = dt2.Rows[0]["HeadPicture"].ToString();
            }
            hostname = Dns.GetHostName();
            IPAddress[] ip        = Dns.GetHostAddresses(hostname);
            RegisterMsg registmsg = new RegisterMsg();
            ClassMsg    msg       = new ClassMsg();

            registmsg.UserName = "******";
            registmsg.PassWord = "******";
            byte[] registdata = new ClassSerializers().SerializeBinary(registmsg).ToArray();
            msg.sendKind   = SendKind.SendCommand;
            msg.msgCommand = MsgCommand.Registering;
            msg.Data       = registdata;
            serID          = "192.168.1.187";
            udpSocket1.Send(IPAddress.Parse(serID), 11000, new ClassSerializers().SerializeBinary(msg).ToArray());
        }
コード例 #7
0
ファイル: F_Logon.cs プロジェクト: SystemHe/project
 private void button_QQLogon_Click(object sender, EventArgs e)
 {
     if (Publec_Class.ServerIP != "" && Publec_Class.ServerPort != "")
     {
         RegisterMsg registermsg = new RegisterMsg();
         registermsg.UserName = text_Name.Text.Trim(); //记录用户名
         registermsg.PassWord = text_PassWord.Text;    //记录密码
         //调用ClassSerializers().SerializerBinary()方法将registermsg序列化为二进制流
         byte[]   registerData = new ClassSerializers().SerializerBinary(registermsg).ToArray();
         ClassMsg msg          = new ClassMsg();
         msg.sendKind   = SendKind.SendCommand; //设置为发送命令
         msg.msgCommand = MsgCommand.Logining;  //消息命令设置为用户登录
         msg.Data       = registerData;         //将二进制流存储到类库中的二进制变量Data中
         //用udpSocket控件的Send方法将消息发送给服务器
         udpSocket1.Send(IPAddress.Parse(Publec_Class.ServerIP), Convert.ToInt32(Publec_Class.ServerPort), new ClassSerializers().SerializerBinary(msg).ToArray());
         Publec_Class.UserName = text_Name.Text;
     }
 }
コード例 #8
0
        private void init_dblist()
        {
            Publec_Class pc          = new Publec_Class();
            RegisterMsg  registermsg = new RegisterMsg();

            registermsg.name = this.dbconn_comb.Text.Trim();
            byte[]   registerData = new ClassSerializers().SerializeBinary(registermsg).ToArray();
            ClassMsg msg          = new ClassMsg();

            msg.sendKind   = SendKind.SendCommand;
            msg.msgCommand = MsgCommand.DBList;
            msg.SIP        = pc.getMacAddr_Local(0);
            msg.SPort      = this.udpSocket1.LocalPort.ToString();
            msg.Data       = registerData;
            msg.Suser      = Publec_Class.UserName;
            //打开socket,后台通信
            udpSocket1.Active = true;

            udpSocket1.Send(IPAddress.Parse(Publec_Class.ServerIP), Convert.ToInt32(Publec_Class.ServerPort), new ClassSerializers().SerializeBinary(msg).ToArray());
        }
コード例 #9
0
ファイル: F_Server.cs プロジェクト: SystemHe/project
        /// <summary>
        /// 插入用户
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="Ip"></param>
        /// <param name="Port"></param>
        /// <returns></returns>
        private ClassMsg InsertUser(ClassMsg msg, System.Net.IPAddress Ip, int Port)
        {
            RegisterMsg registermsg = (RegisterMsg) new ClassSerializers().DeSerializerBinary(new MemoryStream(msg.Data));

            ClassOptionData OptionData = new ClassOptionData();
            MsgCommand      Sate       = msg.msgCommand;
            String          UserName   = registermsg.UserName; //注册用户的名称
            String          PassWord   = registermsg.PassWord; //注册用户的密码
            String          vIP        = Ip.ToString();        //注册用户的IP地址

            //向数据表中添加注册信息
            OptionData.ExSQL("insert into tb_CurreneyUser (IP,Port,Name,PassWord,Sign) values ('" + vIP + "'," +
                             Port.ToString() + ",'" + UserName + "','" + PassWord + "'," + Convert.ToString((int)(MsgCommand.Registered)) + ")");
            SqlDataReader DataReader = OptionData.ExSQLReader("Select * From tb_CurreneyUser");

            UpdateUser();                           //更新用户列表
            OptionData.Dispose();
            msg.msgCommand = MsgCommand.Registered; //用户注册结束命令
            SendMsgToOne(Ip, Port, msg);            //将注册命令返回给注册用户
            return(msg);
        }
コード例 #10
0
        /// <summary>
        /// 插入用户
        /// </summary>
        /// <param name="msg"></param>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        /// <returns></returns>
        private ClassMsg InsertUser(ClassMsg msg, IPAddress ip, int port)
        {
            RegisterMsg registermsg = (RegisterMsg) new ClassSerializers().DeSerializeBinary(new MemoryStream(msg.Data));

            ClassOptionData OptionData = new ClassOptionData();
            MsgCommand      Sate       = msg.msgCommand;
            string          UserName   = registermsg.UserName; // 注册用户名称
            string          PassWord   = registermsg.PassWord; //注册用户密码
            string          vIP        = ip.ToString();        //注册用户的IP地址

            //向数据库中添加注册信息
            OptionData.ExSQL("insert into CurreneyUser (IP,Port,Name,PassWord,Sign) values ('" + vIP + "'," +
                             port.ToString() + ",'" + UserName + "','" + PassWord + "'," + Convert.ToString((int)(MsgCommand.Registered)) + ")");
            DataTable DataReader = OptionData.ExSQLReDr("select * from CurreneyUser");

            LoadUsrLst();
            //UpdateUser();//更新用户列表
            OptionData.Dispose();
            msg.msgCommand = MsgCommand.Registered; //用户注册结束命令
            SendMsgToOne(ip, port, msg);            //将注册命令返回给注册用户
            return(msg);
        }
コード例 #11
0
ファイル: F_SerSetup.cs プロジェクト: SystemHe/project
 private void button_OK_Click(object sender, EventArgs e)
 {
     if (text_PassWord.Text.Trim() == text_PassWord2.Text.Trim())
     {
         //创建并应用MyQQClass类库中的RegisterMsg()
         RegisterMsg registermsg = new RegisterMsg();
         registermsg.UserName = text_Name.Text;     //记录用户名
         registermsg.PassWord = text_PassWord.Text; //记录密码
         //调用ClassSerializers().SerializerBinary()方法,将registermsg序列化为二进制流
         byte[]   registerData = new ClassSerializers().SerializerBinary(registermsg).ToArray();
         ClassMsg msg          = new ClassMsg();
         msg.sendKind   = SendKind.SendCommand;
         msg.msgCommand = MsgCommand.Registering;
         msg.Data       = registerData;
         serID          = text_IP.Text.Trim();
         udpSocket1.Send(IPAddress.Parse(serID), Convert.ToInt32(text_IP5.Text.Trim()), new ClassSerializers().SerializerBinary(msg).ToArray());
     }
     else
     {
         text_PassWord.Text  = "";
         text_PassWord2.Text = "";
         MessageBox.Show("密码匹配不正确,请重新输入!");
     }
 }