//---------------------------------------------------------------------- private void LogEvent(EMQLogID aIndex, string aStr) { if (logging != EMQLog.None) { logger.Log((int)aIndex, aStr); } }
private void LogEvent(ETemiLogItems index, string str) { if (logging != ETemiLogging.None) { logger.Log((int)index, str); } }
public void Log(EEthernetLogItem item, string str) { switch (Logging) { case EEthernetLogging.None: break; case EEthernetLogging.Event: if ((item != EEthernetLogItem.Send) && (item != EEthernetLogItem.Receive)) { logger.Log((int)item, str); } break; case EEthernetLogging.All: logger.Log((int)item, str); break; } }
public void Log(EListenerLogItem item, string str) { switch (Logging) { case EListenerLogging.None: break; case EListenerLogging.Event: case EListenerLogging.All: logger.Log((int)item, str); break; } }
private void Send(ClientRow client) { try { lock (server.Udp) { server.Devices.Lock(); try { packet.Clear(); packet.Command = EServerCommand.DeviceValues; packet.IArg1 = (server.Devices.PowerMeterConnected == true) ? 1 : 0; packet.IArg2 = (server.Devices.RecorderConnected == true) ? 1 : 0; packet.IArg3 = (server.Devices.ControllerConnected == true) ? 1 : 0; packet.IArg4 = (server.Devices.PlcConnected == true) ? 1 : 0; Buffer.BlockCopy( server.Devices.Bytes, 0, packet.Bytes, 17, server.Devices.Bytes.Length); } finally { server.Devices.Unlock(); } server.Udp.Send(packet.Bytes, packet.Length, client.IpPoint); } if (Logging == ESenderLogging.All) { logger.Log((int)ESenderLogItem.Send, "To {0} - Command : {1}, PowerMeter : {2}, Recorder : {3}, Controller : {4}, Plc : {5}", client.IpPort, packet.Command.ToString(), packet.IArg1, packet.IArg2, packet.IArg3, packet.IArg4); } } catch (Exception e) { logger.Log((int)ESenderLogItem.Exception, e.ToString()); } }
protected override void Execute() { byte[] bytes = null; IPEndPoint ipPoint = new IPEndPoint(IPAddress.Any, 0); // Thread 종료 신호가 들어올때 까지 루프 while (Terminated == false) { try { if ((server != null) && (server.Udp != null)) { lock (server.Udp) { if (server.Udp.Available > 0) { bytes = server.Udp.Receive(ref ipPoint); } else { bytes = null; } } if (bytes != null) { packet.Clear(); Array.Copy(bytes, 0, packet.Bytes, 0, bytes.Length); CommandExecute(ipPoint); } } } catch (Exception e) { logger.Log((int)EListenerLogItem.Exception, e.ToString()); DisconnectClient(ipPoint); } // 제어권 양보 Yield(); } }