예제 #1
0
        private static void tcpSession_DataReceived(object sender, DataEventArgs e)
        {
            AsyncTcpSession session = sender as AsyncTcpSession;

            byte[] tmpBuffer = e.Data;
            var    buffer    = new CGD.buffer(e.Data, 0, e.Length);

            int    bufferType   = (int)buffer.extract_uint();
            ushort bufferLength = (ushort)buffer.extract_short();
            string bufferData   = buffer.extract_string();

            Console.WriteLine("tcpSession_DataReceived");
            Console.WriteLine("---------------------------------");
            Console.WriteLine("Type   : " + bufferType);
            Console.WriteLine("Length : " + bufferLength);
            Console.WriteLine("Data   : " + bufferData);
            Console.WriteLine("---------------------------------");
        }
예제 #2
0
        private void tcpSession_DataReceived(object sender, DataEventArgs e)
        {
            AsyncTcpSession session = sender as AsyncTcpSession;

            byte[] tmpBuffer = e.Data;
            var    buffer    = new CGD.buffer(e.Data, 0, e.Length);

            int    bufferLength = (int)buffer.extract_uint();
            ushort bufferType   = (ushort)buffer.extract_byte();

            switch (bufferType)
            {
            case 1:
                pingStopwatch.Start();
                session.Send(NcsTemplateBuffer.HeartbeatBuffer1);
                break;

            case 2:
                ping = (int)pingStopwatch.ElapsedMilliseconds;
                pingStopwatch.Reset();
                break;
            }
        }