public void Disconnect() { RecieverThread?.Abort(); Stream?.Flush(); Stream?.Close(); Client?.Close(); }
public override void Run() { byte[] btBuffer = new byte[1024]; // btBuffer store for the stream int bytes; // Keep listening to the InputStream while connected while (!done) { try { //Read from the stream bytes = btInStream.Read(btBuffer, 0, btBuffer.Length); string readMessage = "" + bytes; Java.Lang.String rMessage = new Java.Lang.String(btBuffer, 0, bytes); readMessage = (string)rMessage; if (readMessage != null) { RecieverThread rct = new RecieverThread(readMessage); rct.Start(); } //Send the message to the ui btHandler.ObtainMessage(Constants.MESSAGE_READ, bytes, -1, btBuffer).SendToTarget(); /* * BufferedReader br = null; * StringBuilder sb = new StringBuilder(); * * String line; * try { * * br = new BufferedReader(new InputStreamReader(in)); * * while ((line = br.readLine()) != null) { * sb.append(line); * } * * } catch (IOException e) { * e.printStackTrace(); * } finally { * if (br != null) { * try { * br.close(); * } catch (IOException e) { * e.printStackTrace(); * } * } * }*/ } catch (Java.IO.IOException e) { e.PrintStackTrace(); break; } } }
private void RaiseErrorEvent(FileReceiverErrorArgs arg) { ReceiveError?.Invoke(arg); if (arg.IsCritical) { RecieverThread?.Abort(); TimerThread.Abort(); } }