/// <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();//更新用户列表 }
/// <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("密码与确认密码不匹配,请重新输入。"); } }
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; }
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(); } }); }
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); } } }
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()); }
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; } }
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()); }
/// <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); }
/// <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); }
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("密码匹配不正确,请重新输入!"); } }