title: 32feet.NET write and read bytes to/from a bluetooth device
body: <p>I have a problem using In the Hand library for writing a byte and reading data from a bluetooth device
  Below you will find the simple code I use.</p>
  
  <p>I discover the device, I pair the device, I create a local client connection and I connect to the device by</p>
  
  <pre><code>BluetoothEndPoint endPoint = new BluetoothEndPoint(addr, BluetoothService.SerialPort,1);
  localClient.Connect(endPoint);
  </code></pre>
  
  <p>Everything is ok until I write the byte to the device, when I try to do that a red led should switch on the device but nothing happen....so I think that the byte has not been written.....</p>
  
  <p>Anyway the code continue to run until </p>
  
  <p><code>int n = stream.Read(newdata[kn], numBytesRead, 1);</code></p>
  
  <p>here the code stops and wait an infinite time without any error....</p>
  
  <p>What am I doing wrong ? Why the byte I send has not been written?
  Thank you for your help!</p>
  
  <pre><code>BluetoothClient localClient = new BluetoothClient();
  BluetoothDeviceInfo[] dev;
  BluetoothDeviceInfo td = null;
  
  addr = BluetoothAddress.Parse(Addr);
  
  dev = localClient.DiscoverDevices();
  foreach (BluetoothDeviceInfo d in dev)
  {                      
      if (d.DeviceName == "Device_name")//my device name
      {
          td = d;
          break;
      }
  }
  
  try
  {
      addr = td.DeviceAddress;
  
      if (!BluetoothSecurity.PairRequest(addr, null)) 
      {
          Console.WriteLine("Request failed");
      }
  }
  catch (Exception e)
  {
      Console.WriteLine("Exception : " + e.Message);
      Console.Read();
  }
  
  BluetoothEndPoint endPoint = new BluetoothEndPoint(addr, BluetoothService.SerialPort,1);
  localClient.Connect(endPoint);
  
  Console.WriteLine(localClient.Connected);
  NetworkStream stream = localClient.GetStream();
  
  string config = "";
  config = "240";
  
  if (stream.CanWrite)
  {
       byte[] data_conf = System.Text.Encoding.ASCII.GetBytes(config);              
       stream.Write(data_conf , 0, data_conf .Length);
       stream.Flush();
   }
  
   System.Threading.Thread.Sleep(100);
  
   int numBytesToRead = newdata[0].Length;
   int numBytesRead = 0;
   int nBytesRead = 0; // number of bytes read on each cycle
  
   //stream.ReadTimeout = 5;
   try
   {
        ////////read incoming bytes
        while (numBytesToRead &gt; 0)
        {                        
            int n = stream.Read(newdata[kn], numBytesRead, 1);
            numBytesRead += n;
            numBytesToRead -= n;
        }
   }
   catch (Exception ex)
   {
         Console.Write(ex.Message);
   }
  </code></pre>