Пример #1
0
 private bool KeepAliveLogon()
 {
     try
     {
         if (!CheckPing())
         {
             return(false);
         }
         RSend.ClientInfo ClData = new RSend.ClientInfo(userName, info, m_compIP, portClient, DateTime.Now);
         if (ServerObj.KeepAliveLogon(ClData))
         {
             Online();
             return(true);
         }
         else
         {
             Offline();
             return(false);
         }
     }
     catch
     {
         Offline();
         return(false);
     }
 }
Пример #2
0
        private void LogOnServer()
        {
            try
            {
                m_compIP = GetCompIP(Dns.GetHostName().ToLower());

                BinaryServerFormatterSinkProvider serverProv = new BinaryServerFormatterSinkProvider();
                serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
                BinaryClientFormatterSinkProvider clientProv = new BinaryClientFormatterSinkProvider();

                IDictionary props = new Hashtable();
                props["port"] = portClient;
                props["name"] = "";
                clientChannel = new TcpChannel(props, clientProv, serverProv);
                ChannelServices.RegisterChannel(clientChannel, false);
                ClientObj = new ClientObject(this);
                m_obj     = RemotingServices.Marshal(ClientObj, "ClientObject.soap");

                String serverURL = "tcp://" + ipAddressServer + ":" + portServer.ToString() + "/ServerObject.rem";
                ServerObj = (IServerObject)Activator.GetObject(typeof(IServerObject), serverURL);
                RSend.ClientInfo ClData = new RSend.ClientInfo(userName, info, m_compIP, portClient, DateTime.Now);

                if (ServerObj.Logon(ClData))
                {
                    b_IsConnected = true;

                    // selftest block begin
                    if (selftest)
                    {
                        List <String> ListSendServer = new List <string>();
                        ListSendServer.Add(userName);
                        ServerObj.SendMessageToServer(userName, ListSendServer, "selftest", false);

                        int i     = 0;
                        int count = (int)(Math.Round((double)timeoutSelftest / 1000 * 2));

                        while (i < count)
                        {
                            if (selftestResult)
                            {
                                i = count;
                            }
                            else
                            {
                                System.Threading.Thread.Sleep(500);
                                i++;
                            }
                        }

                        if (selftestResult)
                        {
                            Online();
                        }
                        else
                        {
                            LogOffServer();
                        }
                    }
                    // selftest block end
                    else
                    {
                        Online();
                    }
                }
                else
                {
                    b_IsConnected = false;
                    LogOffServer();
                }
            }
            catch
            {
                Offline();
            }
        }