12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- package com.example.repeater;
- import android.content.Context;
- import android.util.Log;
- import java.io.BufferedReader;
- import java.io.DataOutputStream;
- import java.io.InputStream;
- import java.io.InputStreamReader;
- import java.io.ObjectInputStream;
- import java.io.OutputStream;
- import java.io.PrintWriter;
- import java.net.Socket;
- public class receive implements Runnable{
- private InputStreamReader in = null;
- private BufferedReader buffRead = null;
- private StringBuilder myCompleteMessage = null;
- private int numberOfBytesRead = 0;
- private char buff[] = new char[1024];
- private Socket m_socket = null;
- private Context mContext = null;
- public receive(Socket socket, Context context) { //생성자를 통하여 소켓을 받아온다
- try {
- m_socket = socket; //서버에 접속된 소켓 파일 디스크립터 저장
- in = new InputStreamReader(m_socket.getInputStream()); //전송 객체 초기화
- buffRead = new BufferedReader(in);
- Log.d("receive.class / 데이터 수신 객체 초기화", "성공");
- } catch(Exception e) {
- Log.e("receive.class / 데이터 수신 객체 초기화", "실패");
- }
- }
- @Override
- public void run() {
- // TODO Auto-generated method stub
- try {
- while(true) {
- myCompleteMessage = new StringBuilder(); //StringBuilder 객체 초기화
- buffRead = new BufferedReader(new InputStreamReader(m_socket.getInputStream()));
- numberOfBytesRead = buffRead.read(buff, 0, buff.length);//char 배열 buff에 받아들이고
- myCompleteMessage.append(buff, 0, numberOfBytesRead); //buff의 데이터를 StringBuilder객체로 이동
- Log.d("receive.class / 데이터 수신", "성공 : " + myCompleteMessage.toString() +"byte : " +numberOfBytesRead);//toString메소드를 통해
- /*
- myCompleteMessage = new StringBuilder(); //StringBuilder 객체 초기화
- Log.d("receive1.class / 데이터 수신", "성공 : " + myCompleteMessage.toString());//toString메소드를 통해
- numberOfBytesRead = buffRead.read(buff, 0, buff.length);//char 배열 buff에 받아들이고
- Log.d("receive2.class / 데이터 수신", "성공 : " + myCompleteMessage.toString());//toString메소드를 통해
- //받아들인 byte수를 반환
- myCompleteMessage.append(buff, 2, numberOfBytesRead-2); //buff의 데이터를 StringBuilder객체로 이동
- Log.d("receive.class / 데이터 수신", "성공 : " + myCompleteMessage.toString());//toString메소드를 통해
- //String으로 변환*/
- }
- } catch(Exception e) {
- Log.e("receive.class / 데이터 수신", "실패" + numberOfBytesRead);
- }
- }
- }
|