예제 #1
0
        public void TestDeviceTimeInit()
        {
            var input  = new ServerInput("http://serverapi1.azurewebsites.net");
            var device = new LightSwitch(input, null, null);

            Assert.AreEqual(device.LastUpdate, DateTime.MinValue);
        }
예제 #2
0
        public void TestDeviceTimeUpdate()
        {
            var input  = new ServerInput("http://serverapi1.azurewebsites.net");
            var device = new LightSwitch(input, null, null);

            device.LastUpdate = DateTime.Now.ToUniversalTime();
            Assert.AreNotEqual(device.LastUpdate, DateTime.MinValue);
        }
예제 #3
0
    /// <summary>
    /// 异步接受,处理数据
    /// </summary>
    /// <param name="iar"></param>
    private void ReceiveFromClients(IAsyncResult iar)
    {
        int reve = ServerSocket.EndReceiveFrom(iar, ref epSender);

        //数据处理
        string str = System.Text.Encoding.UTF8.GetString(ReceiveData, 0, reve);

        //每次接受到数据就传给ServerInput做处理。
        ServerInput.GetInstance().AnalyzeJsonData(str);

        ServerSocket.BeginReceiveFrom(ReceiveData, 0, ReceiveData.Length, SocketFlags.None, ref epSender, new AsyncCallback(ReceiveFromClients), epSender);
    }
예제 #4
0
        public void TestServerInput()
        {
            var input   = new ServerInput("http://serverapi1.azurewebsites.net");
            var device1 = new LightSwitch(input, null, null)
            {
                ID = new FullID(3, 1, 2)
            };
            var device2 = new AlarmSystem(input, null, null)
            {
                ID = new FullID(4, 3, 7)
            };
            var device3 = new CeilingFan(input, null, null)
            {
                ID = new FullID(1, 3, 6)
            };
            var device4 = new GarageDoor(input, null, null)
            {
                ID = new FullID(2, 4, 3)
            };
            var device5 = new LightSwitch(input, null, null)
            {
                ID = new FullID(1, 1, 1)
            };
            var device6 = new Thermostat(input, null, null)
            {
                ID = new FullID(0, 0, 0)
            };
            var response1 = input.read(device1);
            var response2 = input.read(device2);
            var response3 = input.read(device3);
            var response4 = input.read(device4);
            var response5 = input.read(device5);

            Assert.AreEqual(true, response1);
            Assert.AreEqual(true, response2);
            Assert.AreEqual(true, response3);
            Assert.AreEqual(true, response4);
            Assert.AreEqual(true, response5);
        }
예제 #5
0
 ServerInput()
 {
     instance = this;
 }
예제 #6
0
 static Connector()
 {
     _isConnect = false;
     server     = new ServerInput();
 }