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