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)); } }
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); } }