⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 operationcenter.cs

📁 .Net实现的局域网完整IM,含完整的设计远隔
💻 CS
📖 第 1 页 / 共 5 页
字号:
                            return LOGIN_RESULT_EPASSWORD;
                        }
                    }
                }
                return LOGIN_RESULT_EACCOUNT;
            }
            return LOGIN_RESULT_EACCOUNT;
        }

        public static void UserLeave(int UID)
        {
            try
            {
                int t_n, t_c;
                System.Data.DataRowCollection t_Rows = _dsetUsers.Tables[0].Rows;
                System.Data.DataRow t_CRow;

                t_c = t_Rows.Count;
                for (t_n = 0; t_n < t_c; t_n++)
                {
                    t_CRow = t_Rows[t_n];
                    if ((int)t_CRow[0] == UID)
                    {
                        t_CRow[13] = USER_STATE_NORMAL;
                        break;
                    }
                }

                _dataAdpter.UpdateCommand = new SqlCommand("UPDATE TBL_Account SET FLD_STATE= '" + USER_STATE_NORMAL + "' WHERE FLD_UID=" + UID, _dataConnection);
                _dataAdpter.Update(_dsetUsers.Tables[0]);
            }
            catch (Exception e)
            {
                NewControl.JPM_List_Entity t_JE = new NewControl.JPM_List_Entity();

                t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.BMP_DATAERR);
                t_JE.Add(Convert.ToString(MESSAGE_UID_SERVER));
                t_JE.Add(System.DateTime.Now.ToString());
                t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGTYPE_DATA);
                t_JE.Add(Convert.ToString(UID) + global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGCONTENT_FAILUSERLEAVE);

                _MessageList.AddAnEntity(t_JE);
            }
        }

        public static bool GetHisFriends(int UID, ref System.Data.DataSet FDSet)
        {
            if (LoadData() == false)
            {
                return false;
            }

            try
            {
                string t_str = "SELECT TBL_Account.FLD_UID,FLD_NICKNAME,FLD_HEADPIC,FLD_MYSHOW,FLD_SEX,FLD_BIRTHDAY,FLD_BEWRITE,FLD_OPENTIME,FLD_LASTTIME,FLD_LASTIP FROM TBL_Account LEFT OUTER JOIN TBL_Friend ON TBL_Account.FLD_UID =TBL_Friend.FLD_FID WHERE TBL_Friend.FLD_UID=" + Convert.ToString(UID);
                _dataAdpter.SelectCommand = new SqlCommand(t_str, _dataConnection);
                _dataAdpter.Fill(FDSet, DATASET_TABLE_FRIENDS);
                return true;
            }
            catch
            {
                NewControl.JPM_List_Entity t_JE = new NewControl.JPM_List_Entity();

                t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.BMP_DATAERR);
                t_JE.Add(Convert.ToString(MESSAGE_UID_SERVER));
                t_JE.Add(System.DateTime.Now.ToString());
                t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGTYPE_DATA);
                t_JE.Add(Convert.ToString(UID) + global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGCONTENT_FAILGETFRIENDS);

                _MessageList.AddAnEntity(t_JE);
            }

            return false;
        }

        public static bool RequestBeFriend(int SUID, string SNName, int FUID, string FNName)
        {
            try
            {
                if (_dsetUsers.Tables[0] != null)
                {
                    int t_n, t_c;
                    System.Data.DataRowCollection t_Rows = _dsetUsers.Tables[0].Rows;
                    System.Data.DataRow t_CRow;

                    t_c = t_Rows.Count;
                    for (t_n = 0; t_n < t_c; t_n++)
                    {
                        t_CRow = t_Rows[t_n];
                        if ((int)t_CRow[0] == FUID)
                        {
                            //FLD_UID,FLD_ACCOUNT,FLD_PASSWORD
                            //FLD_NICKNAME,FLD_HEADPIC,FLD_MYSHOW
                            //FLD_SEX,FLD_BIRTHDAY,FLD_BEWRITE
                            //FLD_OPENTIME,FLD_LASTTIME
                            //FLD_LASTIP,FLD_LASTPORT,FLD_STATE
                            if (t_CRow[11] != System.DBNull.Value &&
                                t_CRow[12] != System.DBNull.Value)
                            {
                                System.Net.Sockets.TcpClient t_socNow = new TcpClient();

                                t_socNow.Connect((string)t_CRow[11], (int)t_CRow[12]);

                                System.Net.Sockets.NetworkStream t_NStream = t_socNow.GetStream();
                                System.IO.BinaryWriter t_BWriter = new BinaryWriter(t_NStream);

                                t_BWriter.Write(MESSAGE_TYPE_REQUESTFRIEND);
                                t_BWriter.Write(SUID);
                                t_BWriter.Write(SNName);
                                t_BWriter.Flush();

                                t_BWriter.Close();
                                t_NStream.Close();
                                t_socNow.Close();


                                NewControl.JPM_List_Entity t_JE = new NewControl.JPM_List_Entity();

                                t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.BMP_BEFRIEND);
                                t_JE.Add(Convert.ToString(MESSAGE_UID_SERVER));
                                t_JE.Add(System.DateTime.Now.ToString());
                                t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGTYPE_SYSTEM);
                                t_JE.Add(SNName + "(" + SUID + ") " + FNName + "(" + FUID + ") " + global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGCONTENT_REQUESTFRIEND);
                                _MessageList.AddAnEntity(t_JE);

                                return true;
                            }
                            break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                NewControl.JPM_List_Entity t_JE = new NewControl.JPM_List_Entity();

                t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.BMP_FAILBEFRIEND);
                t_JE.Add(Convert.ToString(MESSAGE_UID_SERVER));
                t_JE.Add(System.DateTime.Now.ToString());
                t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGTYPE_SYSTEM);
                t_JE.Add(SNName + "(" + SUID + ") " + FNName + "(" + FUID + ") " + global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGCONTENT_FAILREQUESTFRIEND + e.Message);
                _MessageList.AddAnEntity(t_JE);
            }

            return false;
        }

        public static bool BeFriend(int SUID, string SNName, int FUID, string FNName)
        {
            NewControl.JPM_List_Entity t_JE = new NewControl.JPM_List_Entity();
            try
            {
                if (_dsetUsers.Tables[0] != null)
                {
                    System.Data.DataSet t_FDSet = new System.Data.DataSet();
                    bool t_hS = false;
                    bool t_hF = false;

                    _dataAdpter.SelectCommand.CommandText = "SELECT FLD_FID FROM TBL_Friend WHERE FLD_UID=" + SUID + "AND FLD_FID=" + FUID;
                    _dataAdpter.Fill(t_FDSet, DATASET_TABLE_TEMP);
                    if (t_FDSet.Tables[0].Rows.Count > 0)
                    {
                        t_hS = true;
                    }
                    else
                    {
                        _dataAdpter.InsertCommand = new SqlCommand("INSERT INTO TBL_Friend (FLD_UID,FLD_FID) VALUES (+" + SUID + "," + FUID + ")", _dataConnection);
                        _dataAdpter.InsertCommand.ExecuteNonQuery();
                    }

                    _dataAdpter.SelectCommand.CommandText = "SELECT FLD_FID FROM TBL_Friend WHERE FLD_UID=" + FUID + "AND FLD_FID=" + SUID;
                    t_FDSet.Tables[0].Rows.Clear();
                    _dataAdpter.Fill(t_FDSet, DATASET_TABLE_TEMP);
                    if (t_FDSet.Tables[0].Rows.Count > 0)
                    {
                        t_hF = true;
                    }
                    else
                    {
                        _dataAdpter.InsertCommand = new SqlCommand("INSERT INTO TBL_Friend (FLD_UID,FLD_FID) VALUES (+" + FUID + "," + SUID + ")", _dataConnection);
                        _dataAdpter.InsertCommand.ExecuteNonQuery();
                    }

                    if (t_hS == true && t_hF == true)
                    {
                        /*
                        t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.BMP_BEFRIEND);
                        t_JE.Add(Convert.ToString(MESSAGE_UID_SERVER));
                        t_JE.Add(System.DateTime.Now.ToString());
                        t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGTYPE_SYSTEM);
                        t_JE.Add(SNName + "(" + SUID + ") " + FNName + "(" + FUID + ") " + global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGCONTENT_BEFRIEND);

                        _MessageList.AddAnEntity(t_JE);
                        */
                        return true;
                    }

                    t_hS = false;
                    t_hF = false;

                    int t_n, t_c, t_NUID;

                    System.Data.DataRowCollection t_Rows = _dsetUsers.Tables[0].Rows;
                    System.Data.DataRow t_CRow;
                    System.Data.DataRow t_SRow = null;
                    System.Data.DataRow t_FRow = null;

                    t_c = t_Rows.Count;
                    for (t_n = 0; t_n < t_c; t_n++)
                    {
                        t_CRow = t_Rows[t_n];
                        t_NUID = (int)t_CRow[0];
                        if (t_NUID == SUID && t_hS == false)
                        {
                            t_SRow = t_CRow;

                            t_hS = true;
                            if (t_hF == true)
                            {
                                break;
                            }
                        }
                        else if (t_NUID == FUID && t_hF == false)
                        {
                            t_FRow = t_CRow;

                            t_hF = true;
                            if (t_hS == true)
                            {
                                break;
                            }
                        }
                    }

                    if (t_hS == true && t_hF == true)
                    {
                        ///Source:
                        ///FLD_UID,FLD_ACCOUNT,FLD_PASSWORD
                        ///FLD_NICKNAME,FLD_HEADPIC,FLD_MYSHOW
                        ///FLD_SEX,FLD_BIRTHDAY,FLD_BEWRITE
                        ///FLD_OPENTIME,FLD_LASTTIME
                        ///FLD_LASTIP,FLD_LASTPORT,FLD_STATE
                        ///Out:
                        ///FLD_UID,FLD_NICKNAME
                        ///FLD_HEADPIC,FLD_MYSHOW,FLD_SEX,FLD_BIRTHDAY
                        ///FLD_BEWRITE,FLD_OPENTIME,FLD_LASTTIME,FLD_LASTIP

                        System.Net.Sockets.TcpClient t_socFriend;
                        System.Net.Sockets.NetworkStream t_NStream;
                        System.IO.BinaryWriter t_BWriter;

                        try
                        {
                            t_socFriend = new TcpClient();
                            t_socFriend.Connect((string)t_SRow[11], (int)t_SRow[12]);
                            t_NStream = t_socFriend.GetStream();
                            t_BWriter = new BinaryWriter(t_NStream);

                            t_BWriter.Write(MESSAGE_TYPE_AGEEBEFRIEND);
                            t_BWriter.Write(FUID);
                            t_BWriter.Write(FNName);
                            t_BWriter.Write((int)t_FRow[4]);
                            t_BWriter.Write((int)t_FRow[5]);
                            t_BWriter.Write((int)t_FRow[6]);
                            t_BWriter.Write((string)t_FRow[7]);
                            t_BWriter.Write((string)t_FRow[8]);
                            t_BWriter.Write((string)t_FRow[9]);
                            t_BWriter.Write((string)t_FRow[10]);
                            t_BWriter.Write((string)t_FRow[11]);
                            t_BWriter.Flush();
                        }
                        catch (Exception e)
                        {
                            t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.BMP_FAILBEFRIEND);
                            t_JE.Add(Convert.ToString(MESSAGE_UID_SERVER));
                            t_JE.Add(System.DateTime.Now.ToString());
                            t_JE.Add(global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGTYPE_SYSTEM);
                            t_JE.Add(SNName + "(" + SUID + ") " + global::JPMLab_LanTalker_Server.Properties.Resources.STR_MSGCONTENT_FSM_BEFRIEND + FNName + "(" + FUID + ") " + e.Message);
                            _MessageList.AddAnEntity(t_JE);
                        }

                        try
                        {
                            t_socFriend = new TcpClient();
                            t_socFriend.Connect((string)t_FRow[11], (int)t_FRow[12]);
                            t_NStream = t_socFriend.GetStream();
                            t_BWriter = new BinaryWriter(t_NStream);


                            t_BWriter.Write(MESSAGE_TYPE_AGEEBEFRIEND);
                            t_BWriter.Write(SUID);
                            t_BWriter.Write(SNName);
   

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -