public void ExcuteRequestPackage(ipp_Package package) { byte[] result = package.ToServerResultBytes(); this.Send(result, 0, result.Length); if (package.IsValid()) { WcfFactory.PackageDeliveryHost.GetService <IPackageDelivery>().PackageDeliveryToServer(package); byte[] bytes = package.ToServerResultBytes(); Send(bytes, 0, bytes.Length); //todo:DeliveryPackage } }
public void PackageDeliveryToServer(ipp_Package package) { IRecipientResolver resolver = GetService<IRecipientResolver>(); var ret = resolver.ParseRecipients(package.PR); if (!ret.Ret) return; IPackageDealer dealer = new PackageDealer(); var refpackage = dealer.SavePackage(package); var receivers = ret.Obj as string[]; var count = dealer.DealPackage(refpackage, receivers); //return Result(count > 0, receivers.Length == count ? "" : (receivers.Length - count) + "个用户未能派送包裹"); }
public void PushPackage(ipp_Package[] package, string receiver) { AppFactory.GetAppServer("iTripIMPushServer").GetSessions(s => s.Account == receiver).ToList().ForEach( delegate(TripSession session) { package.ForEach(delegate(ipp_Package pk) { byte[] bytes = pk.ToClientBytes(); session.Send(bytes, 0, bytes.Length); }); }); }
public void PackageDeliveryToServer(ipp_Package package) { IRecipientResolver resolver = GetService <IRecipientResolver>(); var ret = resolver.ParseRecipients(package.PR); if (!ret.Ret) { return; } IPackageDealer dealer = new PackageDealer(); var refpackage = dealer.SavePackage(package); var receivers = ret.Obj as string[]; var count = dealer.DealPackage(refpackage, receivers); //return Result(count > 0, receivers.Length == count ? "" : (receivers.Length - count) + "个用户未能派送包裹"); }
public IPackage ToTransferPackage() { IPackage package = new ipp_Package(); package.IPPV = IPPV; package.PT = PType; package.PS = Sender; package.PR = Receiver; package.PD = Time; package.PCT = (int)Content.CType; //package.ExtName = Content.ExtName; package.PCN = Content.FullName; package.PC = Content.Summary; package.PCL = Content.Length; return(package); }
private IPackage Send(string pc, PackageType pt, PackageContentType pct, string ps, string pr, string pcn = "") { IPackage package = new ipp_Package(ps, pc, pt, pct, pr, pcn, "1.0.0.0"); var bytes = package.ToServerBytes(); string s = Convert.ToBase64String(bytes); if (socket.State == WebSocketState.Open) { socket.Send(bytes, 0, bytes.Length); return package; } else { return null; } }
private void socket_DataReceived(object sender, DataReceivedEventArgs e) { Console.WriteLine(e.Data.Length); if (e.Data.Length == 0) { if (SendResultHandler != null) SendResultHandler(Guid.Empty, false); } else if (e.Data.Length == 24) { Guid guid = e.Data.FromiTripByteArray(Encoding.UTF8); if (SendResultHandler != null) SendResultHandler(guid, true); Console.WriteLine(guid.ToString()); } else { IPackage package = new ipp_Package(e.Data); if (ReceivedHandler != null) ReceivedHandler(package); } }
public IPackage Parse(byte[] packagebodybyte) { ipp_Package package = new ipp_Package(); Parse(packagebodybyte, package); return package; }
public IPackage ToTransferPackage() { IPackage package = new ipp_Package(); package.IPPV = IPPV; package.PT = PType; package.PS = Sender; package.PR = Receiver; package.PD = Time; package.PCT = (int)Content.CType; //package.ExtName = Content.ExtName; package.PCN = Content.FullName; package.PC = Content.Summary; package.PCL = Content.Length; return package; }