public void L2CapListen() { L2CapListener lsnr = null; try { lsnr = L2CapListen_(); var cli = lsnr.AcceptClient(); console.WriteLine("Accepted! :-)"); // _peer = cli.GetStream(); _cliL2Cap = new WeakReferenceT <L2CapClient>(cli); console.WriteLine("Got connection from: {0}", cli.RemoteEndPoint); //PrintLocalEndpointIfAvailable(cli); PrintMtuEtc(cli); console.Pause("Un-pause to continue; and close listener"); } finally { if (lsnr != null) { lsnr.Stop(); } } }
private L2CapListener L2CapListen_() { Guid svcClass = SvcClassForL2CapTests; Guid?inputGuid = console.ReadOptionalBluetoothUuid("UUID", svcClass); if (inputGuid.HasValue) { svcClass = inputGuid.Value; } int?port = console.ReadOptionalInteger("PSM"); #if AUTH_ENCR_PIN bool auth = console.ReadYesNo("Authenticate", false); bool encpt = console.ReadYesNo("Encrypt", false); bool setPin1, setPin2; string passcode; BluetoothAddress pinAddr; PromptForSetPin(console, out setPin1, out setPin2, out passcode, out pinAddr); #endif string svcName = console.ReadLine("Service Name (optional)"); if (svcName != null && svcName.Length == 0) { svcName = null; } // BluetoothEndPoint lep; if (port == null) { lep = new BluetoothEndPoint(BluetoothAddress.None, svcClass); } else { lep = new BluetoothEndPoint(BluetoothAddress.None, svcClass, port.Value); } console.WriteLine("Going to listen on: {0}:{1}:{2}; auth: {3}, encrypt: {4}.", lep.Address, lep.Service, lep.Port, false /*auth*/, false /*encpt*/); // var lsnr = new L2CapListener(lep); if (svcName != null) { lsnr.ServiceName = svcName; } #if AUTH_ENCR_PIN // Assume false by default, so if NotImpl fails only if user says true. if (auth) { lsnr.Authenticate = true; } if (encpt) { lsnr.Encrypt = true; } if (setPin1) { Debug.Assert(pinAddr == null, "pinAddr == null"); //lsnr.SetPin(passcode); console.WriteLine("Soooorrrrry we don't support SetPin(String) on listener!!!!"); throw new NotSupportedException("ConsoleMenuTesting"); } else if (setPin2) { Debug.Assert(pinAddr != null, "pinAddr != null"); lsnr.SetPin(pinAddr, passcode); } #endif console.WriteLine("Starting Listener..."); lsnr.Start(); BluetoothEndPoint lepLsnr = (BluetoothEndPoint)lsnr.LocalEndPoint; console.WriteLine("Listening on endpoint: {0}", lepLsnr); return(lsnr); }
//[Test] public void L2capLsnrAccept2_None() { // No usage exceptions var lsnr = new L2CapListener(Guid.Empty); var task = lsnr.AcceptClientAsync(null); }