Example #1
0
 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
     }
 }
Example #2
0
        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) + "个用户未能派送包裹");
        }
Example #3
0
 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);
             });
         });
 }
Example #4
0
        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) + "个用户未能派送包裹");
        }
Example #5
0
        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);
        }
Example #6
0
 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; }
 }
Example #7
0
 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);
     }
 }
Example #8
0
 public IPackage Parse(byte[] packagebodybyte)
 {
     ipp_Package package = new ipp_Package();
     Parse(packagebodybyte, package);
     return package;
 }
Example #9
0
        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;
        }