using CSharpUtilHelpV2;
using System;
using System.Diagnostics;
using System.Threading;
namespace LogUtilHelpV2Test
{
class Program
{
static void Main(string[] args)
{
try
{
Debug.WriteLine("-------------");
Action _writeLog = delegate()
{
for (int i = 0; i < 10000; i++)
LogToolV2.Log(Guid.NewGuid().ToString(), LogType.Trace);
};
Thread _wireteLogTask1 = new Thread(new ThreadStart(_writeLog));
_wireteLogTask1.Start();
Thread _wireteLogTask2 = new Thread(new ThreadStart(_writeLog));
_wireteLogTask2.Start();
//throw new Exception("test aaa bb cc");
}
catch (Exception ex)
{
LogToolV2.Log(ex);
Console.WriteLine(ex.Message.Trim());
}
finally
{
Console.WriteLine("ok");
Console.ReadLine();
}
}
}
}
WlanClient client = new WlanClient();
foreach ( WlanClient.WlanInterface wlanIface in client.Interfaces )
{
// Lists all available networks
Wlan.WlanAvailableNetwork[] networks = wlanIface.GetAvailableNetworkList( 0 );
foreach ( Wlan.WlanAvailableNetwork network in networks )
{
Console.WriteLine( "Found network with SSID {0}.", GetStringForSSID(network.dot11Ssid));
}
}
static string GetStringForSSID(Wlan.Dot11Ssid ssid)
{
return Encoding.ASCII.GetString( ssid.SSID, 0, (int) ssid.SSIDLength );
}
RSSI (or "Radio (Received) Signal Strength Indicator") are in units of 'dB' (decibel) or the similar 'dBm' (dB per milliwatt) (See dB vs. dBm) in which the smaller magnitude negative numbers have the highest signal strength, or quality.
Therefore, the conversion between quality (percentage) and dBm is as follows:
quality = 2 * (dBm + 100) where dBm: [-100 to -50]
dBm = (quality / 2) - 100 where quality: [0 to 100]
Pseudo Code (with example clamping):
// dBm to Quality:
if(dBm <= -100)
quality = 0;
else if(dBm >= -50)
quality = 100;
else
quality = 2 * (dBm + 100);
// Quality to dBm:
if(quality <= 0)
dBm = -100;
else if(quality >= 100)
dBm = -50;
else
dBm = (quality / 2) - 100;