コード例 #1
0
        private void SocketReceive(object obj)
        {
            Thread.Sleep(1000);
            byte[] rxBytes = new byte[15];

            FlushReceivingBuffer();

            while (Enabled)
            {
                try
                {
                    while (clientSocket.Available > 14)
                    {
                        //System.Diagnostics.Trace.WriteLine("odebrano pakiet");
                        clientSocket.Receive(rxBytes, 15, SocketFlags.None);

                        var frame = new Hapcan.Messages.Frame(rxBytes);

                        if (frame.Start == Hapcan.Messages.Frame.ControlByte.StartFrame)
                        {
                            events.PublishOnUIThread(new ReceivedEvent(frame));
                        }
                    }
                    Thread.Sleep(1);
                }
                catch (Exception ex)
                {
                    //TODO: info
                }
            }
        }
コード例 #2
0
 public ReceivedEvent(Hapcan.Messages.Frame frame) : base(frame)
 {
 }
コード例 #3
0
 public SentEvent(Hapcan.Messages.Frame frame) : base(frame)
 {
 }
コード例 #4
0
 public EthernetConnectorEvent(Hapcan.Messages.Frame frame)
 {
     Frame = frame;
 }