receive.java 2.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package com.example.repeater;
  2. import android.content.Context;
  3. import android.util.Log;
  4. import java.io.BufferedReader;
  5. import java.io.DataOutputStream;
  6. import java.io.InputStream;
  7. import java.io.InputStreamReader;
  8. import java.io.ObjectInputStream;
  9. import java.io.OutputStream;
  10. import java.io.PrintWriter;
  11. import java.net.Socket;
  12. public class receive implements Runnable{
  13. private InputStreamReader in = null;
  14. private BufferedReader buffRead = null;
  15. private StringBuilder myCompleteMessage = null;
  16. private int numberOfBytesRead = 0;
  17. private char buff[] = new char[1024];
  18. private Socket m_socket = null;
  19. private Context mContext = null;
  20. public receive(Socket socket, Context context) { //생성자를 통하여 소켓을 받아온다
  21. try {
  22. m_socket = socket; //서버에 접속된 소켓 파일 디스크립터 저장
  23. in = new InputStreamReader(m_socket.getInputStream()); //전송 객체 초기화
  24. buffRead = new BufferedReader(in);
  25. Log.d("receive.class / 데이터 수신 객체 초기화", "성공");
  26. } catch(Exception e) {
  27. Log.e("receive.class / 데이터 수신 객체 초기화", "실패");
  28. }
  29. }
  30. @Override
  31. public void run() {
  32. // TODO Auto-generated method stub
  33. try {
  34. while(true) {
  35. myCompleteMessage = new StringBuilder(); //StringBuilder 객체 초기화
  36. buffRead = new BufferedReader(new InputStreamReader(m_socket.getInputStream()));
  37. numberOfBytesRead = buffRead.read(buff, 0, buff.length);//char 배열 buff에 받아들이고
  38. myCompleteMessage.append(buff, 0, numberOfBytesRead); //buff의 데이터를 StringBuilder객체로 이동
  39. Log.d("receive.class / 데이터 수신", "성공 : " + myCompleteMessage.toString() +"byte : " +numberOfBytesRead);//toString메소드를 통해
  40. /*
  41. myCompleteMessage = new StringBuilder(); //StringBuilder 객체 초기화
  42. Log.d("receive1.class / 데이터 수신", "성공 : " + myCompleteMessage.toString());//toString메소드를 통해
  43. numberOfBytesRead = buffRead.read(buff, 0, buff.length);//char 배열 buff에 받아들이고
  44. Log.d("receive2.class / 데이터 수신", "성공 : " + myCompleteMessage.toString());//toString메소드를 통해
  45. //받아들인 byte수를 반환
  46. myCompleteMessage.append(buff, 2, numberOfBytesRead-2); //buff의 데이터를 StringBuilder객체로 이동
  47. Log.d("receive.class / 데이터 수신", "성공 : " + myCompleteMessage.toString());//toString메소드를 통해
  48. //String으로 변환*/
  49. }
  50. } catch(Exception e) {
  51. Log.e("receive.class / 데이터 수신", "실패" + numberOfBytesRead);
  52. }
  53. }
  54. }