示例#1
0
        public void Reciever_EndRecieveData(byte[] data, IPEndPoint ip, long length)
        {
            try
            {
                LastRecievePacket = (MiMFa_SimplePacket)MiMFa_IOService.Deserialize(data);
                MiMFa_SocketPacketSubject msps = LastRecievePacket.GetSubject();
                if (msps == MiMFa_SocketPacketSubject.Chat)
                {
                    var typ = LastRecievePacket.GetDataType();
                    switch (typ)
                    {
                    case MiMFa_SocketPacketDataType.None:
                        SetHTML(LastRecievePacket.GetData().ToString());
                        break;

                    case MiMFa_SocketPacketDataType.Text:
                        Recieve(LastRecievePacket.GetData());
                        break;

                    case MiMFa_SocketPacketDataType.Image:
                        Recieve(LastRecievePacket.GetData());
                        break;

                    default:
                        var mim = General.MiMFa_GetDetail.GetMimeObject(LastRecievePacket.Data).Split('/').First();
                        if (mim == "image")
                        {
                            Recieve(LastRecievePacket.GetData());
                        }
                        else
                        {
                            Recieve(LastRecievePacket.Data);
                        }
                        break;
                    }
                    RecievedPacket(LastRecievePacket, ip);
                }
                else if (msps == MiMFa_SocketPacketSubject.Error)
                {
                    try
                    { NotSendAlert((Exception)LastRecievePacket.GetData()); }
                    catch { }
                }
            }
            catch (Exception ex)
            {
                RecievedError(data, ip, length, ex);
                Reciever.Send(new MiMFa_SimplePacket(MiMFa_SocketPacketSubject.Error, ex, MiMFa_SocketPacketDataType.Text));
            }
        }
示例#2
0
 public void Send(MiMFa_SimplePacket packet)
 {
     try
     {
         LastSendPacket = packet;
         Sender.Start(LastSendPacket, INAddress);
         SendPacket(LastSendPacket, Sender.InterlocutorIPEndPoint);
     }
     catch (Exception ex)
     {
         SendError(RTB.Text, Sender.InterlocutorIPEndPoint, 0, ex);
         NotSendAlert(ex);
     }
 }