Exemple #1
0
        public void RunTimer()
        {
            StateObjClass StateObj = new StateObjClass();

            StateObj.TimerCanceled = false;
            StateObj.SomeValue     = 1;
            System.Threading.TimerCallback TimerDelegate =
                new System.Threading.TimerCallback(TimerTask);

            System.Threading.Timer TimerItem =
                new System.Threading.Timer(TimerDelegate, StateObj, 0, 3000);

            // Save a reference for Dispose.
            StateObj.TimerReference = TimerItem;

            CPacket msg = CPacket.create();
            JsonObjectCollection collection = new JsonObjectCollection();

            collection.Add(new JsonStringValue("PROTOCOL_ID", "PING"));
            msg.push(collection.ToString());

            this.send(msg);

            if (SocketExtensions.IsConnected(this.socket))
            {
                Console.WriteLine("true");
            }
            else
            {
                StateObj.TimerReference.Change(Timeout.Infinite, Timeout.Infinite);
                //Change
                Console.WriteLine("false((");
            }
        }
Exemple #2
0
        private void TimerTask(object StateObj)
        {
            StateObjClass State = (StateObjClass)StateObj;

            System.Threading.Interlocked.Increment(ref State.SomeValue);
            System.Diagnostics.Debug.WriteLine("Launched new thread  " + DateTime.Now.ToString());
            if (State.TimerCanceled)
            {
                State.TimerReference.Dispose();
                System.Diagnostics.Debug.WriteLine("Done  " + DateTime.Now.ToString());
            }
        }