private void CWCDisconnected(TCP.WorkerClient sender) { Logger.MajorInfo("Console client disconnected."); sender.TermClient(); consoleCurCons -= 1; curMsg = null; }
private void WCMessageArrived(TCP.WorkerClient sender, byte[] b, int len) { TCPEventArgs e = new TCPEventArgs(); e.RemoteClient = sender.ClientIP(); e.Data = new byte[len]; DataArrived(this, e); Array.Copy(b, 0, e.Data, 0, len); Message.Message msg = new Message.Message(b); Logger.MajorVerbose("Client: " + sender.ClientIP() + System.Environment.NewLine + "Request: " + msg.MessageData); try { Logger.MajorDebug("Parsing header and code of message " + msg.MessageData + "..."); string messageHeader = msg.GetSubstring(HeaderLength); msg.AdvanceIndex(HeaderLength); string commandCode = msg.GetSubstring(2); msg.AdvanceIndex(2); CommandCalled(this, commandCode); CommandClass CC = CE.GetLoadedCommand(commandCode); if (CC == null) { Logger.MajorError("No implementor for " + commandCode + "." + System.Environment.NewLine + "Disconnecting client."); sender.TermClient(); } else { Logger.MajorDebug("Found implementor " + CC.DeclaringType.FullName + ", instantiating..."); AHostCommand o = (AHostCommand)Activator.CreateInstance(CC.DeclaringType); o = (AHostCommand)Activator.CreateInstance(CC.DeclaringType); Message.MessageResponse retMsg; Message.MessageResponse retMsgAfterIO; try { string trailingChars = ""; if (ExpectTrailers) { trailingChars = msg.GetTrailers(); } if ((CheckLMKParity == false) || (Cryptography.LMK.LMKStorage.CheckLMKStorage())) { //Logger.MinorInfo("=== [" + commandCode + "], starts " + Utility.getTimeMMHHSSmmmm + " ======="); Logger.MajorDebug("Calling AcceptMessage()..."); o.AcceptMessage(msg); Logger.MinorVerbose(o.DumpFields()); } } catch (Exception ex) { } } } catch (Exception ex) { } }
public void ShutDown() { if (LT == null) { try { SL.Stop(); SL = null; } catch (Exception ex) { } Logger.MajorVerbose("Stopping the listening thread..."); try { LT.Abort(); LT = null; } catch (Exception ex) { } Logger.MajorVerbose("Disconnecting connected clients..."); if (WC != null) { for (int i = 0; i < WC.GetUpperBound(0) + 1; i++) { try { if (!(WC[i] == null) && (WC[i].IsConnected == true)) { WC[i].TermClient(); } WC[i] = null; } catch (Exception ex) { } } } try { CSL.Stop(); CSL = null; } catch (Exception ex) { } Logger.MajorVerbose("Stopping the console listening thread..."); try { CLT.Abort(); CLT = null; } catch (Exception ex) { } try { if (!(CWC == null) && (CWC.IsConnected == true)) { CWC.TermClient(); } CWC = null; } catch (Exception ex) { } } Logger.MajorInfo("Shutdown complete"); }