internal bool Connect() { try { bIsFirst = true; logger.Info("Trying to connect...."); IPAddress addr = IPAddress.Loopback; if (!IPAddress.TryParse(Program.Config.ServerHost, out addr)) { IPAddress[] addresses = Dns.GetHostAddresses(Program.Config.ServerHost); if (addresses.Length == 0) { throw new InvalidOperationException("Host not found"); } addr = addresses[0]; } serverConnection = new EventDrivenTCPClient(addr, Program.Config.ServerTelnetPort, true); serverConnection.DataReceived += serverConnection_DataReceived; serverConnection.ConnectionStatusChanged += serverConnection_ConnectionStatusChanged; serverConnection.Connect(); if (_Testing) { CommandsDisabled = true; } } catch (Exception ex) { logger.Warn("Connection failed"); logger.Warn(ex.ToString()); return(false); } return(serverConnection.IsConnected); }
protected void Dispose(bool bAll) { if (serverConnection != null) { serverConnection.Dispose(); serverConnection = null; } }
public OmegaTempCtrl(string _ipAddr, int _port) { m_ipAddr = _ipAddr; m_port = _port; m_lastErrorMessage = "No Error"; m_simpleClient = new EventDrivenTCPClient(IPAddress.Parse(_ipAddr), _port, true); m_simpleClient.ConnectionStatusChanged += m_simpleClient_ConnectionStatusChanged; m_simpleClient.DataReceived += m_simpleClient_DataReceived; }
private void Client_DataReceived(EventDrivenTCPClient sender, object data) { byte[] newdata; BinaryFormatter bf = new BinaryFormatter(); using (var ms = new MemoryStream()) { bf.Serialize(ms, data); newdata = ms.ToArray(); } buffer.Write(newdata); byte[] message; byte[] timestamp; byte signalLevel; for (int i = 0; i < buffer.Count; i++) { if (buffer[i] == 0x1a) { buffer.Read(i); i = 0; switch (buffer[1]) { case 0x31: buffer.Read(1); timestamp = buffer.Read(6); signalLevel = buffer.Read(1)[0]; message = buffer.Read(2); break; case 0x32: buffer.Read(31); timestamp = buffer.Read(6); signalLevel = buffer.Read(1)[0]; message = buffer.Read(7); ParseModeS(message); break; case 0x33: buffer.Read(1); timestamp = buffer.Read(6); signalLevel = buffer.Read(1)[0]; message = buffer.Read(14); ParseModeS(message); break; default: buffer.Read(1); break; } } } }
public override void Start() { if (running) { return; } Enabled = true; client = new EventDrivenTCPClient(Host, Port, true); client.Connect(); client.DataReceived += Client_DataReceived; running = true; }
void m_simpleClient_ConnectionStatusChanged(EventDrivenTCPClient sender, EventDrivenTCPClient.ConnectionStatus status) { string msg = "Unknown Status"; switch (status) { case EventDrivenTCPClient.ConnectionStatus.AutoReconnecting: msg = "Reconnecting..."; break; case EventDrivenTCPClient.ConnectionStatus.Connected: msg = "Connected"; break; case EventDrivenTCPClient.ConnectionStatus.ConnectFail_Timeout: msg = "Connection Fail, Timeout"; break; case EventDrivenTCPClient.ConnectionStatus.Connecting: msg = "Connecting..."; break; case EventDrivenTCPClient.ConnectionStatus.DisconnectedByHost: msg = "Disconnected by Host"; break; case EventDrivenTCPClient.ConnectionStatus.DisconnectedByUser: msg = "Disconnected by User"; break; case EventDrivenTCPClient.ConnectionStatus.Error: msg = "Error"; break; case EventDrivenTCPClient.ConnectionStatus.NeverConnected: msg = "Never Connected"; break; case EventDrivenTCPClient.ConnectionStatus.ReceiveFail_Timeout: msg = "Recieve Failure, Timeout"; break; case EventDrivenTCPClient.ConnectionStatus.SendFail_NotConnected: msg = "Send Failure, Not Connected"; break; case EventDrivenTCPClient.ConnectionStatus.SendFail_Timeout: msg = "Send Failure, Timeout"; break; } OnMessage(new OmegaTempCtrlMessageEventArgs("Temp Ctrl: " + msg)); }
void m_simpleClient_DataReceived(EventDrivenTCPClient sender, object data) { ParseReceivedMessage((string)data); }