コード例 #1
0
 protected override void OnStop()
 {
     if (tCPknxServer != null)
     {
         tCPknxServer.Dispose();
         tCPknxServer = null;
     }
     if (kNXUart != null)
     {
         kNXUart.Close();
         kNXUart = null;
     }
 }
コード例 #2
0
        /*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;
        }
コード例 #3
0
 private void TCPknxServer_onClientConnect(TCPknxServer caller, System.Net.IPAddress ClientIPAddress)
 {
     this.EventLog.WriteEntry("KNX IP Client Connect Event: " + ClientIPAddress.ToString());
 }
コード例 #4
0
 private void TCPknxServer_OnKNXMessage(TCPknxServer caller, KNXBaseTypes.KNXmessage Message)
 {
     Console.WriteLine("KNXTCPData");
     kNXUart.SendKNXMessage(Message);
 }
コード例 #5
0
 private void TCPknxServer_OnKNXAddressAdd(TCPknxServer caller, KNXBaseTypes.KNXAddress Address)
 {
     kNXUart.AddKNXAddressToAck(Address);
 }