private static void TestFrames() { #if TRACE_LOG FileName = "Receiver"; LogHelper.WriteToFile("Starting", "Program", FileName, true); FileName = "Sender"; LogHelper.WriteToFile("Starting", "Program", FileName, true); #endif FrameSender sender = new FrameSender(); ulong counter = 0; while (true) { FileName = "Sender"; #if TRACE_LOG LogHelper.WriteToFile("Prepare to sending packet.", "Program", FileName, true); #endif List <Packet> sendPackets = new List <Packet>(); while (sendPackets.Count == 0) //for (int i = 0; i < 1; i++) { //Packet p = GetPacketB(); Packet p = RandomPacket(); if (sender.ProcessPacket(p)) { sendPackets.Add(p); } } byte[] data = sender.Send(); FileName = "Receiver"; FrameReceiver receiver = new FrameReceiver(); #if TRACE_LOG LogHelper.WriteToFile("Prepare to receive packet.", "Program", FileName, true); #endif List <IPacket> readPackets = receiver.Receive(data); Debug.Assert(sendPackets.Count == readPackets.Count); for (int i = 0; i < sendPackets.Count; i++) { IPacket itemA = sendPackets[i]; IPacket itemB = readPackets[i]; Debug.Assert(itemA.Equals(itemB)); } Console.WriteLine(counter); counter++; } }
protected override void OnCreate(Bundle savedInstanceState) { base.OnCreate(savedInstanceState); // Set our view from the "main" layout resource SetContentView(Resource.Layout.Main); // Get our button from the layout resource, // and attach an event to it Button button = FindViewById <Button>(Resource.Id.myButton); button.Click += delegate { button.Text = $"{count++} clicks!"; }; FrameReceiverConfig receiverConfig = null; FrameTransmitterConfig transmitterConfig = null; try { transmitterConfig = new FrameTransmitterConfig( this, "audible-7k-channel-0"); receiverConfig = new FrameReceiverConfig( this, "audible-7k-channel-0"); } catch (IOException e) { // could not build configs } FrameReceiver receiver = null; FrameTransmitter transmitter = null; try { receiver = new FrameReceiver(receiverConfig); transmitter = new FrameTransmitter(transmitterConfig); } catch (ModemException e) { // could not set up receiver/transmitter } string payload = "Hello, World Hello, WorldHello, WorldHello, WorldHello, WorldHello, WorldHello, WorldHello, WorldHello, WorldHello, World!"; try { transmitter.Send(Encoding.UTF8.GetBytes(payload)); } catch (IOException e) { // our message might be too long or the transmit queue full } // set receiver to block until a frame is received // by default receivers are nonblocking // receiver.SetBlocking(10, 0); // byte[] buf = new byte[1024]; // long recvLen = 0; // try // { // recvLen = receiver.Receive(buf); // } // catch (IOException e) // { // read timed out // } // button.Text = Encoding.UTF8.GetString(buf, 0, (int) recvLen); }