Page 202 - 3-1
P. 202

mSocket.connect(); //  소켓이 생성 되면 connect()        함수를 호출함으로써 두기기의 연
              결은 완료된다.


                          //  데이터 송수신을 위한 스트림 얻기.
                          // BluetoothSocket  오브젝트는 두개의 Stream       을 제공한다.
                          // 1.  데이터를 보내기 위한 OutputStrem
                          // 2.  데이터를 받기 위한 InputStream
                          mOutputStream = mSocket.getOutputStream();
                          mInputStream = mSocket.getInputStream();


                          //  데이터 수신 준비.
                          beginListenForData();
                          onConnected();
                      } catch (Exception e) { //  블루투스 연결 중 오류 발생
                          Toast.makeText(MainActivity.getContext(),
                                  " 블루투스 연결 중 오류가 발생했습니다.", Toast.LENGTH_LONG).show();
                          //finish();  // App  종료
                      }
                  }




                  //  데이터 수신 쓰레드 사용 수신된 메시지를 계속 검사함(                   )
                  void beginListenForData() {
                      final Handler handler = new Handler();


                      readBufferPosition = 0;                //  버퍼 내 수신 문자 저장 위치.
                      readBuffer = new byte[1024];             //  수신 버퍼.


                      //  문자열 수신 쓰레드.
                      mWorkerThread = new Thread(new Runnable() {
                          @Override
                          public void run() {
                              // interrupt()  메소드를 이용 스레드를 종료시키는 예제이다.
                              // interrupt()  메소드는 하던 일을 멈추는 메소드이다.
                              // isInterrupted()  메소드를 사용하여 멈추었을 경우 반복문을 나가서 스레드가 종
              료하게 된다.
                              while (!Thread.currentThread().isInterrupted()) {
                                  try {
                                      // InputStream.available() :  다른 스레드에서 blocking      하기 전까지 읽은
              수 있는 문자열 개수를 반환함.





                                                         - 202 -
   197   198   199   200   201   202   203   204   205   206   207