Exemple #1
0
        public void SendRequest(string toClient, int n)
        {
            Message messageSendRequest = new Message("301", UserInfo.UserID, toClient, n);

            byte[] bufferSend = SerializationUnit.SerializeObject(messageSendRequest);
            socketLine.Send(bufferSend);
        }
Exemple #2
0
        private void BtnSendMsg_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (this.cmbSocket.Text.Trim() == "")
                {
                    MessageBox.Show("请选择目标EndPoint");
                    return;
                }

                string ipSend = this.cmbSocket.Text.Trim();
                #region 对消息的处理
                string  strMsg      = txtMsg.Text.Trim().ToString();//得到需要发送的消息
                Message messageSend = new Message("000", "127.0.0.1:6666", ipSend, strMsg);
                byte[]  bufferSend  = SerializationUnit.SerializeObject(messageSend);
                dicSocket[ipSend].Send(bufferSend);
                //发送完成,清空文本输入窗口
                txtMsg.Text = "";
                WriteLog(string.Format("{0} To {1} 发送:{2} 成功", messageSend.FromClient, ipSend, messageSend.Msg));
                #endregion
            }
            catch
            {
                MessageBox.Show("给客户端发送消息错误.");
            }
        }
Exemple #3
0
        //在窗口加载的时候,像服务器发送第一次数据
        private void Window_Loaded(object sender, RoutedEventArgs e)
        {
            string  userId      = UserInfo.UserID;
            Message messageSend = new Message("001", userId, socketLine.LocalEndPoint.ToString(), "绑定用户ip地址");

            byte[] bufferSend = SerializationUnit.SerializeObject(messageSend);
            socketLine.Send(bufferSend);
        }
Exemple #4
0
        public void SendFile(string toClient, byte[] buffer, int r)
        {
            //包装消息
            Message messageSendFile = new Message("201", UserInfo.UserID, toClient, buffer);

            byte[] bufferSend = SerializationUnit.SerializeObject(messageSendFile);
            socketLine.Send(bufferSend);
        }
Exemple #5
0
        public void SendMessage(string toClient, string msg)
        {
            //包装消息
            Message messageSend = new Message("101", UserInfo.UserID, toClient, msg);

            byte[] bufferSend = SerializationUnit.SerializeObject(messageSend);
            socketLine.Send(bufferSend);
        }
Exemple #6
0
        /// <summary>
        /// 获取扩展板加热保护温度.并显示到界面
        /// </summary>
        private void GetExtHeadOverHeat()
        {
            byte[] buf     = new byte[64];
            uint   bufsize = (uint)buf.Length;
            int    ret     = CoreInterface.GetEpsonEP0Cmd(0x7f, buf, ref bufsize, 0, 3);

            if (ret != 0)
            {
                ExtHeadOverHeat overHeat = (ExtHeadOverHeat)SerializationUnit.BytesToStruct(buf.Skip(2).ToArray(), typeof(ExtHeadOverHeat));
                numHeatingProtectionTemp.Value = (decimal)(overHeat.OverHeatTmp / 100f);
            }
        }
Exemple #7
0
        /// <summary>
        /// 设置扩展板加热保护温度
        /// </summary>
        private void SetExtHeadOverHeat()
        {
            ExtHeadOverHeat headOverHeat = new ExtHeadOverHeat();

            headOverHeat.Flag        = new char[] { 'H', 'H', 'O', 'T' };
            headOverHeat.OverHeatTmp = (ushort)(numHeatingProtectionTemp.Value * 100);
            byte[] buf     = SerializationUnit.StructToBytes(headOverHeat);
            uint   bufsize = (uint)buf.Length;
            int    ret     = CoreInterface.SetEpsonEP0Cmd(0x7f, buf, ref bufsize, 0, 3);

            if (ret == 0)
            {
                MessageBox.Show("Set Over Heat temp error!");
            }
        }
Exemple #8
0
        public int ReadHeader(byte[] buffer)
        {
            SrcWidth = SrcHeight = 0;
            LiyuRipHEADER headerTemp;

            CoreInterface.GetLiyuRipHEADER(_workjob.FileLocation, out headerTemp, IsCsPrt);
            CoreInterface.GetLiyuRipHEADER(_workjob.FileLocation, out header1, IsCsPrt);
            SrcWidth  = header1.nImageWidth;
            SrcHeight = header1.nImageHeight;
            if (_isDouble4CJob)
            {
                CoreInterface.GetLiyuRipHEADER(_workjob.FileLocation2, out header2, IsCsPrt);
                ColorNum                  = header1.nImageColorNum + header2.nImageColorNum;
                headerTemp.nAChannel      = (byte)header1.nImageColorNum;
                headerTemp.nBChannel      = (byte)header2.nImageColorNum;
                headerTemp.nImageColorNum = ColorNum;
            }
            else
            {
                ColorNum = header1.nImageColorNum;
            }
            BytePerLine = header1.nBytePerLine;
            byte[] buftemp = SerializationUnit.StructToBytes(headerTemp);
            if (IsCsPrt)
            {
                int          readSize = Marshal.SizeOf(typeof(CAISHEN_HEADER));
                FileStream   stream   = new FileStream(_workjob.FileLocation, FileMode.Open, FileAccess.Read);
                BinaryReader reader   = new BinaryReader(stream);
                buftemp = reader.ReadBytes(readSize);
                if (_isDouble4CJob)
                {
                    CAISHEN_HEADER csHeader = (CAISHEN_HEADER)SerializationUnit.BytesToStruct(buftemp, typeof(CAISHEN_HEADER));
                    csHeader.uColors = ColorNum;
                    buftemp          = SerializationUnit.StructToBytes(csHeader);
                }
            }
            Buffer.BlockCopy(buftemp, 0, buffer, 0, buftemp.Length);
            return(buftemp.Length);
        }
Exemple #9
0
        public void ApplyToBoard()
        {
            int status = 0;

            status = OnGetRealTimeFromUI();
#if false
            ////////////////////////////////
            byte onelight = 1;
            if (m_CheckBoxOneLight.Checked)
            {
                onelight = 1;
            }
            else
            {
                onelight = 0;
            }
            const int  port = 1;
            const byte PRINTER_PIPECMDSIZE = 26;
            byte []    m_pData             = new byte[PRINTER_PIPECMDSIZE + 2];
            //First Send Begin Updater
            m_pData[0] = 2 + 1;
            m_pData[1] = 0x45;             //One Light mode
            m_pData[2] = onelight;

            if (CoreInterface.SetPipeCmdPackage(m_pData, m_pData[0], port) == 0)
            {
                MessageBox.Show(ResString.GetEnumDisplayName(typeof(UIError), UIError.SaveRealTimeFail));
                return;
            }
#endif
            byte[] uvPowerLevelMap = SerializationUnit.StructToBytes(_UvPowerLevelMap);
            uint   length          = (uint)uvPowerLevelMap.Length;
            int    ret             = CoreInterface.SetEpsonEP0Cmd(0x68, uvPowerLevelMap, ref length, 0, 0x01);
            if (ret == 0)
            {
                MessageBox.Show(ResString.GetResString("SetFailed"));
            }
            if (SPrinterProperty.IsGongZengUv())
            {
                GZUVX2Param.UVX1Power = (ushort)numUVX1Power.Value;
                GZUVX2Param.UVX2Power = (ushort)numUVX2Power.Value;
                if (!EpsonLCD.SetGZUVX2Param(GZUVX2Param))
                {
                    MessageBox.Show(ResString.GetResString("SetFailed"));
                }
            }
            if (CoreInterface.SetUVStatus(status) != 0)
            {
                if ((status & 0xf) == 0 || (status & 0xf0) == 0)
                {
                    MessageBox.Show(ResString.GetResString("OpenUV"));
                }
            }
            else
            {
                MessageBox.Show(ResString.GetEnumDisplayName(typeof(UIError), UIError.SaveRealTimeFail));
            }

            if (PubFunc.IsSupportUVOffsetDistance())
            {
                UVOffsetDistanceUI uvOffset = GetUVOffsetFromUI();
                EpsonLCD.SetUVOffsetDistToFw(uvOffset, fPulsePerInchX);
            }
        }
Exemple #10
0
        private void InkStatistics_Load(object sender, EventArgs e)
        {
            List <string>    color           = new List <string>();
            SPrinterProperty PrinterProperty = new SPrinterProperty();

            CoreInterface.GetSPrinterProperty(ref PrinterProperty);
            int colornum = CoreConst.OLD_MAX_COLOR_NUM;//PrinterProperty.GetRealColorNum();

            for (int i = 0; i < colornum; i++)
            {
                ColorEnum_Short ink = ColorEnum_Short.N;
                if (Enum.IsDefined(typeof(ColorEnum_Short), PrinterProperty.eColorOrder[i]))
                {
                    ink = (ColorEnum_Short)PrinterProperty.eColorOrder[i];
                }
                color.Add(ink.ToString());
            }


            InkOfMonths  InkOfMonths  = new InkOfMonths();
            AreaOfMonths AreaOfMonths = new AreaOfMonths();
            SBoardInfo   sBoardInfo   = new SBoardInfo();

            if (CoreInterface.GetBoardInfo(0, ref sBoardInfo) != 0)
            {
                string filePath = InkAreaStaticsHelper.GetInkStaticsFileName(sBoardInfo.m_nBoardSerialNum);
                if (File.Exists(filePath))
                {
                    FileStream   fs   = new FileStream(filePath, FileMode.Open);
                    BinaryReader br   = new BinaryReader(fs);
                    byte[]       ink  = new byte[Marshal.SizeOf(typeof(InkOfMonths))];
                    byte[]       area = new byte[Marshal.SizeOf(typeof(AreaOfMonths))];
                    ink          = br.ReadBytes(ink.Length);
                    area         = br.ReadBytes(area.Length);
                    InkOfMonths  = (InkOfMonths)SerializationUnit.BytesToStruct(ink, typeof(InkOfMonths));
                    AreaOfMonths = (AreaOfMonths)SerializationUnit.BytesToStruct(area.ToArray(), typeof(AreaOfMonths));
                    fs.Close();
                    DataGridViewTextBoxColumn acCode = new DataGridViewTextBoxColumn();
                    acCode.Name             = "color";
                    acCode.DataPropertyName = "";
                    acCode.HeaderText       = "";
                    dataGridViewInkStatistics.Columns.Insert(0, acCode);
                    for (int i = 0; i < 8; i++)
                    {
                        dataGridViewInkStatistics.Rows.Add();
                        dataGridViewInkStatistics.Rows[i].Cells["color"].Value = color[i];
                    }
                    DataGridViewTextBoxColumn months;
                    // 获取对应语言的日期时间格式
                    //DateTimeFormatInfo info = Thread.CurrentThread.CurrentUICulture.DateTimeFormat;

                    List <uint> allColorInk = new List <uint>()
                    {
                        0, 0, 0, 0, 0, 0, 0, 0
                    };
                    DateTime dateTime = BYHXSoftLock.GetDateTime(); // 优先用加密狗时间,避免机器时间错误
                    DateTime now      = new DateTime(dateTime.Year - 1, dateTime.Month, dateTime.Day);
                    for (int i = 0; i < InkOfMonths.inkOfColors.Length; i++)
                    {
                        now    = now.AddMonths(1);
                        months = new DataGridViewTextBoxColumn
                        {
                            Name             = "",
                            DataPropertyName = "",
                            HeaderText       = string.Format("{0}-{1}", now.Year, now.Month)//info.GetMonthName(i+1) //获取月份名称
                        };
                        dataGridViewInkStatistics.Columns.Insert(i + 1, months);
                    }
                    now = new DateTime(dateTime.Year - 1, dateTime.Month, dateTime.Day);
                    for (int i = 0; i < InkOfMonths.inkOfColors.Length; i++)
                    {
                        now = now.AddMonths(1);
                        int monthIndex = now.Month - 1;
                        for (int j = 0; j < InkOfMonths.inkOfColors[monthIndex].colors.Length; j++)
                        {
                            //dataGridViewInkStatistics.Rows[j].Cells[monthIndex + 1].Value = InkOfMonths.inkOfColors[monthIndex].colors[j].ToString("f2");
                            dataGridViewInkStatistics.Rows[j].Cells[i + 1].Value = InkOfMonths.inkOfColors[monthIndex].colors[j].ToString("f2");
                            allColorInk[j] += InkOfMonths.inkOfColors[monthIndex].colors[j];
                        }
                    }
                    //插入全年合计列
                    months = new DataGridViewTextBoxColumn
                    {
                        Name             = "",
                        DataPropertyName = "",
                        HeaderText       = ResString.GetResString("StrCurYearAmountInTotal")// "合计"
                    };
                    dataGridViewInkStatistics.Columns.Insert(13, months);
                    for (int i = 0; i < allColorInk.Count; i++)
                    {
                        dataGridViewInkStatistics.Rows[i].Cells[13].Value = string.Format("{0}L", (allColorInk[i] / 1000f).ToString("f2"));
                    }

                    ////插入历史合计列
                    //months = new DataGridViewTextBoxColumn
                    //{
                    //    Name = "",
                    //    DataPropertyName = "",
                    //    HeaderText = ResString.GetResString("StrHistoryAmountInTotal")+"(L)"// "合计"
                    //};
                    //// 获取并显示历史合计数据
                    //SPwdInfo pwdinfo = new SPwdInfo();
                    //if (CoreInterface.GetPWDInfo(ref pwdinfo) != 0)
                    //{
                    //    for (int i = 0; i < allColorInk.Count && i < pwdinfo.nDurationInk.Length; i++)
                    //    {
                    //        dataGridViewInkStatistics.Rows[i].Cells[13].Value = pwdinfo.nDurationInk[i].ToString("f2");
                    //    }
                    //}
                    /////////////////////////////面积//////////////////////////////////
                    now = new DateTime(dateTime.Year - 1, dateTime.Month, dateTime.Day);
                    float  inch2M2      = (100 / 2.54f) * (100 / 2.54f); //平方英寸到平方米的转换系数
                    double allMonthArea = 0;                             // 12个月合计打印面积
                    for (int i = 0; i < 12; i++)
                    {
                        now    = now.AddMonths(1);
                        months = new DataGridViewTextBoxColumn
                        {
                            Name             = "",
                            DataPropertyName = "",
                            HeaderText       = string.Format("{0}-{1}", now.Year, now.Month)// info.GetMonthName(i + 1)
                        };
                        dataGridViewPrintAreaStatistics.Columns.Insert(i, months);
                    }
                    dataGridViewPrintAreaStatistics.Rows.Add();//添加行
                    now = new DateTime(dateTime.Year - 1, dateTime.Month, dateTime.Day);
                    for (int i = 0; i < 12; i++)
                    {
                        now = now.AddMonths(1);
                        int monthIndex = now.Month - 1;
                        //dataGridViewPrintAreaStatistics.Rows[0].Cells[monthIndex].Value = (AreaOfMonths.Area[monthIndex] / inch2M2).ToString("f2");
                        dataGridViewPrintAreaStatistics.Rows[0].Cells[i].Value = (AreaOfMonths.Area[monthIndex] / inch2M2).ToString("f2");
                        allMonthArea += AreaOfMonths.Area[monthIndex] / inch2M2;
                    }
                    //插入全年合计列
                    months = new DataGridViewTextBoxColumn
                    {
                        Name             = "",
                        DataPropertyName = "",
                        HeaderText       = ResString.GetResString("StrCurYearAmountInTotal")// "合计"
                    };
                    dataGridViewPrintAreaStatistics.Columns.Insert(12, months);

                    // 显示合计
                    dataGridViewPrintAreaStatistics.Rows[0].Cells[12].Value = allMonthArea.ToString("f2");

                    ////插入历史合计列
                    //months = new DataGridViewTextBoxColumn
                    //{
                    //    Name = "",
                    //    DataPropertyName = "",
                    //    HeaderText = ResString.GetResString("StrHistoryAmountInTotal")// "合计"
                    //};
                    //dataGridViewPrintAreaStatistics.Columns.Insert(12, months);

                    //// 显示历史合计
                    //double areaHistory = 0;
                    //if (CoreInterface.GetPrintArea(ref areaHistory) != 0)
                    //{
                    //    double m2 = areaHistory / inch2M2;
                    //    dataGridViewPrintAreaStatistics.Rows[0].Cells[12].Value = m2.ToString("f2");
                    //}
                }
            }
        }
Exemple #11
0
        private void Receive(object o)
        {
            Socket socketReceive = o as Socket;

            try
            {
                while (true)
                {
                    //判断接受buffer是否为空
                    byte[] buffer = new byte[1024 * 1024 * 2];
                    int    len    = socketReceive.Receive(buffer);

                    if (len == 0)
                    {   //如果得到字符为空,则代表没有接收到数据
                        break;
                    }
                    else
                    {
                        WriteLog("接收到来自服务器的数据");
                        byte[] bufferReceive = new byte[len];
                        for (int i = 0; i < len; i++)
                        {
                            bufferReceive[0] = buffer[0];
                        }
                        Message messageReceive = SerializationUnit.DeserializeObject(buffer) as Message;
                        string  fromFriendID   = messageReceive.FromClient;//消息来自哪一个客户端

                        #region 根据返回的类型进行消息操作
                        switch (messageReceive.Sign)
                        {
                            #region 000为来自服务器的数据
                        case "000":
                            break;

                            #endregion
                            #region 101客户端与客户端之间的普通聊天
                        case "101":
                            //p判断该聊天窗口是否存在,存在则直接调用
                            if (this.dicChatWindow.ContainsKey(fromFriendID))
                            {
                                dicChatWindow[fromFriendID].Dispatcher.Invoke(
                                    new Action(
                                        delegate
                                {
                                    dicChatWindow[fromFriendID].ChangeTxtMsgLog(
                                        string.Format("{0}: {1}\n{2}\n", dicChatWindow[fromFriendID].Title.ToString(), DateTime.Now.ToString(), messageReceive.Msg));
                                }
                                        )
                                    );
                                //写日志
                                WriteLog(string.Format("fromClient:{1}\nMessage:{1}", fromFriendID, messageReceive.Msg));
                            }
                            else
                            {
                                //该窗口不存在,则打开新的窗口,在进行操作
                                MessageBox.Show("未完成的工作");
                            }
                            break;

                            #endregion
                            #region 201 接受图片的事件
                        case "201":
                            if (this.dicChatWindow.ContainsKey(fromFriendID))
                            {
                                dicChatWindow[fromFriendID].Dispatcher.Invoke(
                                    new Action(
                                        delegate
                                {
                                    dicChatWindow[fromFriendID].ChangeTxtMsgLog(
                                        string.Format("{0}:\n{1}\n", dicChatWindow[fromFriendID].Title.ToString(), "接受图片的事件"));
                                }
                                        )
                                    );

                                SaveFileDialog saveFileDialog = new SaveFileDialog();
                                saveFileDialog.InitialDirectory = @"C:\Users\58317\Desktop";
                                saveFileDialog.Title            = "请选择要保存的文件";
                                saveFileDialog.Filter           = "所有文件|*.*";
                                saveFileDialog.ShowDialog();
                                string path = saveFileDialog.FileName;
                                using (FileStream fileStream = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Write))
                                {
                                    fileStream.Write(messageReceive.BufferFile, 0, messageReceive.BufferFile.Length);
                                }

                                WriteLog(string.Format("fromClient:{1}\nMessage:{1}", fromFriendID, "接受图片的事件"));
                            }
                            else
                            {
                                //该窗口不存在,则打开新的窗口,在进行操作
                                MessageBox.Show("未完成的工作");
                            }
                            break;

                            #endregion
                            #region 301 客户端对客户端的请求事件
                        case "301":
                            if (this.dicChatWindow.ContainsKey(fromFriendID))
                            {
                                #region 判断请求的类型,分别执行不同的操作
                                switch (messageReceive.Request)
                                {
                                case 1:
                                    dicChatWindow[fromFriendID].Dispatcher.Invoke(
                                        new Action(
                                            delegate
                                    {
                                        dicChatWindow[fromFriendID].ChangeTxtMsgLog(
                                            string.Format("来自{0}: {1}\n请求震动事件\n", dicChatWindow[fromFriendID].Title.ToString(), DateTime.Now.ToString()));
                                        dicChatWindow[fromFriendID].ZD();
                                    }
                                            )
                                        );
                                    //写日志
                                    // WriteLog(string.Format("fromClient:{1}\n请求震动事件", fromFriendID));
                                    break;
                                }
                                #endregion
                            }
                            else
                            {
                                //该窗口不存在,则打开新的窗口,在进行操作
                                MessageBox.Show("未完成的工作");
                            }
                            break;

                            #endregion
                        default:
                            break;
                        }
                    }
                    #endregion

                    //进行内存回收
                    GC.Collect();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("接收服务端发送的消息出错:" + ex.ToString());
            }
        }
Exemple #12
0
        private void Receive(Object o)
        {
            Socket socketReceive = o as Socket;
            string userid        = "";

            try
            {
                while (true)
                {
                    //将接收到额buffer转为Message
                    byte[] buffer = new byte[1024 * 1024 * 2];
                    int    len    = socketReceive.Receive(buffer);

                    if (len == 0)
                    {
                        break;
                    }
                    else
                    {
                        //反序列化,将buffer转化为类
                        WriteLog(string.Format("接收到来自客户端:{0} 的数据", socketReceive.RemoteEndPoint));

                        byte[] bufferReceive = new byte[len];
                        for (int i = 0; i < len; i++)
                        {
                            bufferReceive[0] = buffer[0];
                        }
                        Message messageReceive = SerializationUnit.DeserializeObject(buffer) as Message;
                        string  fromClient     = messageReceive.FromClient; //从哪里发过来
                        string  toClient       = messageReceive.ToClient;   //要发到哪去
                        userid = messageReceive.Sign;                       //做一个标记

                        #region 根据协议处理数据
                        switch (messageReceive.Sign)
                        {
                            #region 001 完成用户ID与端口的绑定
                        case "001":
                            //数据逻辑处理
                            dicSocket.Add(messageReceive.FromClient, socketReceive);    //将用户id与ip地址绑定

                            //UI处理以及日志
                            this.txtLog.Dispatcher.Invoke(receiveCallBack, string.Format("登录用户ID:{0}\n登录的ip地址:{1}", fromClient, socketReceive.RemoteEndPoint.ToString()));
                            //this.cmbSocket.Dispatcher.Invoke(setCmbCallBack, messageReceive.FromClient);//ui控制
                            WriteLog(string.Format("登录用户ID:{0}\n登录的ip地址:{1}", fromClient, socketReceive.RemoteEndPoint.ToString()));
                            break;

                            #endregion
                            #region 101 完成客户端数据的转发
                        case "101":
                            if (dicSocket.ContainsKey(fromClient))
                            {
                                //将对象重新序列化
                                byte[] sendByte = SerializationUnit.SerializeObject(messageReceive);
                                dicSocket[toClient].Send(sendByte);
                                //写日志
                                this.txtLog.Dispatcher.Invoke(receiveCallBack,
                                                              string.Format("fromClient:{0}\ntoClient:{1}\nMessage:{2}\n",
                                                                            fromClient, toClient, messageReceive.Msg));
                                WriteLog(string.Format("fromClient:{0}\ntoClient:{1}\nMessage:{2}\n",
                                                       fromClient, toClient, messageReceive.Msg));
                            }
                            else
                            {
                                MessageBox.Show("服务器找不到该用户");
                            }
                            break;

                            #endregion
                            #region 201 发送文件的事件
                        case "201":
                            if (dicSocket.ContainsKey(fromClient))
                            {
                                //将对象重新序列化
                                byte[] sendByte = SerializationUnit.SerializeObject(messageReceive);
                                dicSocket[toClient].Send(sendByte);
                                //写日志
                                this.txtLog.Dispatcher.Invoke(receiveCallBack,
                                                              string.Format("fromClient:{0}\ntoClient:{1}\nMessage:{2}\n",
                                                                            fromClient, toClient, "转发文件成功"));
                                WriteLog(string.Format("fromClient:{0}\ntoClient:{1}\nMessage:{2}\n",
                                                       fromClient, toClient, "转发文件成功"));
                            }
                            else
                            {
                                MessageBox.Show("服务器找不到该用户");
                            }
                            break;

                            #endregion
                        case "301":
                            if (dicSocket.ContainsKey(fromClient))
                            {
                                //将对象重新序列化
                                byte[] sendByte = SerializationUnit.SerializeObject(messageReceive);
                                //转发数据
                                dicSocket[toClient].Send(sendByte);
                                //写日志
                                this.txtLog.Dispatcher.Invoke(receiveCallBack,
                                                              string.Format("fromClient:{0}\ntoClient:{1}\nRequest:{2}\n",
                                                                            fromClient, toClient, messageReceive.Request));
                                WriteLog(string.Format("fromClient:{0}\ntoClient:{1}\nRequest:{2}\n",
                                                       fromClient, toClient, messageReceive.Request));
                            }
                            else
                            {
                                MessageBox.Show("服务器找不到该用户");
                            }
                            break;

                        default:
                            break;
                        }
                        #endregion

                        //进行内存回收
                        GC.Collect();
                    }
                }
            }
            catch (Exception ex)
            {
                dicSocket.Remove(userid);
                //MessageBox.Show("接收服务端发送的消息出错:" + ex.ToString());
            }
        }