protected override void OnStop() { if (tCPknxServer != null) { tCPknxServer.Dispose(); tCPknxServer = null; } if (kNXUart != null) { kNXUart.Close(); kNXUart = null; } }
/*public ServiceImplementation() * { * * }*/ private void CreateServer(string ComPort, uint TCPPort) { kNXUart = new KNXUartConnection(ComPort) { AllowWrite = true }; kNXUart.OnKNXMessage += KNXUart_OnKNXMessage; kNXUart.OnKNXEvent += KNXUart_OnKNXEvent; if (!kNXUart.ResetAndInit()) { throw new Exception("Cannot init"); } tCPknxServer = new TCPknxServer("0.0.0.0", TCPPort); tCPknxServer.OnKNXMessage += TCPknxServer_OnKNXMessage; tCPknxServer.OnKNXAddressAdd += TCPknxServer_OnKNXAddressAdd; tCPknxServer.OnKNXAddressRemove += TCPknxServer_OnKNXAddressRemove; tCPknxServer.onClientConnect += TCPknxServer_onClientConnect; tCPknxServer.onClientDisconnect += TCPknxServer_onClientDisconnect; }
private void TCPknxServer_onClientConnect(TCPknxServer caller, System.Net.IPAddress ClientIPAddress) { this.EventLog.WriteEntry("KNX IP Client Connect Event: " + ClientIPAddress.ToString()); }
private void TCPknxServer_OnKNXMessage(TCPknxServer caller, KNXBaseTypes.KNXmessage Message) { Console.WriteLine("KNXTCPData"); kNXUart.SendKNXMessage(Message); }
private void TCPknxServer_OnKNXAddressAdd(TCPknxServer caller, KNXBaseTypes.KNXAddress Address) { kNXUart.AddKNXAddressToAck(Address); }