示例#1
0
        void Current_Exit(object sender, ExitEventArgs e)
        {
            try
            {
                if (channelNetTcp != null)
                {
                    channelNetTcp.Close();
                    channelNetTcp.Dispose();
                    channelNetTcp = null;
                }
                if (channelHttp != null)
                {
                    channelHttp = null;
                }
                if (dispHttpTimer != null)
                {
                    dispHttpTimer.Stop();
                }

                VMuktiAPI.VMuktiHelper.UnRegisterEvent("SignOut");
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "Current_Exit", "ctlImageSharing.xaml.cs");
            }
        }
示例#2
0
        public void ClosePod()
        {
            try
            {
                //call unjoin method

                if (channelNetTcp != null)
                {
                    channelNetTcp.svcUnJoin(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);
                }
                else if (channelHttp != null)
                {
                    MemoryStream mmsFinal = new MemoryStream();
                    char         del      = '#';
                    Stream       mmsUName = fncStringToStream(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);
                    mmsUName.Position = 0;
                    byte[] byteName = fncStreamToByteArry(mmsUName);

                    mmsFinal.Write(byteName, 0, byteName.Length);

                    mmsFinal.Position = 0;

                    channelHttp.svcUnJoin(mmsFinal);
                }

                if (channelNetTcp != null)
                {
                    channelNetTcp.Close();
                    channelNetTcp.Dispose();
                    channelNetTcp = null;
                }
                if (channelHttp != null)
                {
                    channelHttp = null;
                }
                if (dispTimer != null)
                {
                    dispTimer.Stop();
                }

                Dispose();
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "ClosePod()", "ctlImageSharing.xaml.cs");
            }
        }
示例#3
0
 public void Dispose()
 {
     try
     {
         if (channelHttp != null)
         {
             channelHttp = null;
         }
         if (channelNetTcp != null)
         {
             channelNetTcp.Close();
             channelNetTcp.Dispose();
             channelNetTcp = null;
         }
         GC.Collect();
         GC.WaitForPendingFinalizers();
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "Dispose()", "ctlImageSharing.xaml.cs");
     }
 }
        void bgHostService_DoWork(object sender, DoWorkEventArgs e)
        {

            List<object> lstTempObj = (List<object>)e.Argument;
            strUri = lstTempObj[1].ToString();

            try
            {
                if ((VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.NodeWithNetP2P || (VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.BootStrap || (VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.SuperNode)
                {
                    NetPeerClient npcImageShare = new NetPeerClient();

                    ((clsNetTcpImageSharing)objNetTcpImageShare).EntsvcJoin += new clsNetTcpImageSharing.delsvcJoin(ctlImageSharing_EntsvcJoin);
                    ((clsNetTcpImageSharing)objNetTcpImageShare).EntsvcSendIamge += new clsNetTcpImageSharing.delsvcSendIamge(ctlImageSharing_EntsvcSendIamge);
                    ((clsNetTcpImageSharing)objNetTcpImageShare).EntsvcUnJoin += new clsNetTcpImageSharing.delsvcUnJoin(ctlImageSharing_EntsvcUnJoin);


                    channelNetTcp = (INetTcpImageShareChannel)npcImageShare.OpenClient<INetTcpImageShareChannel>(strUri, strUri.ToString().Split(':')[2].Split('/')[2], ref objNetTcpImageShare);

                    while (temp < 20)
                    {
                        try
                        {
                            channelNetTcp.svcJoin(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);

                            temp = 20;
                        }
                        catch
                        {
                            temp++;
                            System.Threading.Thread.Sleep(1000);
                        }
                    }
                }

                else
                {
                    BasicHttpClient bhcImageSharing = new BasicHttpClient();
                    bhcImageSharing.NewBasicHttpBinding().TransferMode = TransferMode.Streamed;
                    
                    channelHttp = (IHttpImageSharing)bhcImageSharing.OpenClient<IHttpImageSharing>(strUri);

                    while (tempcounter < 20)
                    {
                        try
                        {

                            MemoryStream mmsFinal = new MemoryStream();
                            char del = '#';
                            Stream mmsUName = fncStringToStream(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);
                            mmsUName.Position = 0;
                            byte[] byteName = fncStreamToByteArry(mmsUName);

                            mmsFinal.Write(byteName, 0, byteName.Length);
                            mmsFinal.WriteByte((byte)del);
                            mmsFinal.WriteByte((byte)del);
                            mmsFinal.WriteByte((byte)del);
                            mmsFinal.Position = 0;

                            channelHttp.svcJoin(mmsFinal);
                            tempcounter = 20;
                        }
                        catch
                        {
                            tempcounter++;
                            System.Threading.Thread.Sleep(1000);
                        }
                    }
                    
                    dispHttpTimer.Interval = TimeSpan.FromSeconds(2);
                    dispHttpTimer.Tick += new EventHandler(dispHttpTimer_Tick);
                    dispHttpTimer.Start();

                }
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "HostImageService", "ctlImageSharing.xaml.cs");
            }
        }
 public void Dispose()
 {
     try
     {
         if (channelHttp != null)
         {
             channelHttp = null;
         }
         if (channelNetTcp != null)
         {
             channelNetTcp.Close();
             channelNetTcp.Dispose();
             channelNetTcp = null;
         }
         GC.Collect();
         GC.WaitForPendingFinalizers();
     }
     catch (Exception ex)
     {
         VMuktiHelper.ExceptionHandler(ex, "Dispose()", "ctlImageSharing.xaml.cs");
     }
 }
        public void ClosePod()
        {
            try
            {
                //call unjoin method

                if (channelNetTcp != null)
                {
                    channelNetTcp.svcUnJoin(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);
                }
                else if (channelHttp != null)
                {

                    MemoryStream mmsFinal = new MemoryStream();
                    char del = '#';
                    Stream mmsUName = fncStringToStream(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);
                    mmsUName.Position = 0;
                    byte[] byteName = fncStreamToByteArry(mmsUName);

                    mmsFinal.Write(byteName, 0, byteName.Length);
                    
                    mmsFinal.Position = 0;

                    channelHttp.svcUnJoin(mmsFinal);
                }

                if (channelNetTcp != null)
                {
                    channelNetTcp.Close();
                    channelNetTcp.Dispose();
                    channelNetTcp = null;
                }
                if (channelHttp != null)
                {
                    channelHttp = null;
                }
                if (dispTimer != null)
                {
                    dispTimer.Stop();
                }

                Dispose();
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "ClosePod()", "ctlImageSharing.xaml.cs");
            }
        }
        void Current_Exit(object sender, ExitEventArgs e)
        {
            try
            {
                if (channelNetTcp != null)
                {
                    channelNetTcp.Close();
                    channelNetTcp.Dispose();
                    channelNetTcp = null;
                }
                if (channelHttp != null)
                {
                    channelHttp = null;
                }
                if (dispHttpTimer != null)
                {
                    dispHttpTimer.Stop();
                }

                VMuktiAPI.VMuktiHelper.UnRegisterEvent("SignOut");
            }
            catch(Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "Current_Exit", "ctlImageSharing.xaml.cs");
            }
        }
示例#8
0
        void bgHostService_DoWork(object sender, DoWorkEventArgs e)
        {
            List <object> lstTempObj = (List <object>)e.Argument;

            strUri = lstTempObj[1].ToString();

            try
            {
                if ((VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.NodeWithNetP2P || (VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.BootStrap || (VMuktiAPI.PeerType)lstTempObj[0] == VMuktiAPI.PeerType.SuperNode)
                {
                    NetPeerClient npcImageShare = new NetPeerClient();

                    ((clsNetTcpImageSharing)objNetTcpImageShare).EntsvcJoin      += new clsNetTcpImageSharing.delsvcJoin(ctlImageSharing_EntsvcJoin);
                    ((clsNetTcpImageSharing)objNetTcpImageShare).EntsvcSendIamge += new clsNetTcpImageSharing.delsvcSendIamge(ctlImageSharing_EntsvcSendIamge);
                    ((clsNetTcpImageSharing)objNetTcpImageShare).EntsvcUnJoin    += new clsNetTcpImageSharing.delsvcUnJoin(ctlImageSharing_EntsvcUnJoin);


                    channelNetTcp = (INetTcpImageShareChannel)npcImageShare.OpenClient <INetTcpImageShareChannel>(strUri, strUri.ToString().Split(':')[2].Split('/')[2], ref objNetTcpImageShare);

                    while (temp < 20)
                    {
                        try
                        {
                            channelNetTcp.svcJoin(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);

                            temp = 20;
                        }
                        catch
                        {
                            temp++;
                            System.Threading.Thread.Sleep(1000);
                        }
                    }
                }

                else
                {
                    BasicHttpClient bhcImageSharing = new BasicHttpClient();
                    bhcImageSharing.NewBasicHttpBinding().TransferMode = TransferMode.Streamed;

                    channelHttp = (IHttpImageSharing)bhcImageSharing.OpenClient <IHttpImageSharing>(strUri);

                    while (tempcounter < 20)
                    {
                        try
                        {
                            MemoryStream mmsFinal = new MemoryStream();
                            char         del      = '#';
                            Stream       mmsUName = fncStringToStream(VMuktiAPI.VMuktiInfo.CurrentPeer.DisplayName);
                            mmsUName.Position = 0;
                            byte[] byteName = fncStreamToByteArry(mmsUName);

                            mmsFinal.Write(byteName, 0, byteName.Length);
                            mmsFinal.WriteByte((byte)del);
                            mmsFinal.WriteByte((byte)del);
                            mmsFinal.WriteByte((byte)del);
                            mmsFinal.Position = 0;

                            channelHttp.svcJoin(mmsFinal);
                            tempcounter = 20;
                        }
                        catch
                        {
                            tempcounter++;
                            System.Threading.Thread.Sleep(1000);
                        }
                    }

                    dispHttpTimer.Interval = TimeSpan.FromSeconds(2);
                    dispHttpTimer.Tick    += new EventHandler(dispHttpTimer_Tick);
                    dispHttpTimer.Start();
                }
            }
            catch (Exception ex)
            {
                VMuktiHelper.ExceptionHandler(ex, "HostImageService", "ctlImageSharing.xaml.cs");
            }
        }