C# 또는 자바에서 이미지를 전송해 주면 안드로이드에서 받아서 실시간으로 뿌려주려고 합니다..(SurfaceView 를 통해 뿌려줍니다.)

처음 4바이트에는 Length가 들어가고 그 이후에 이미지 Data를 전송하게 됩니다.

안드로이드쪽 소스코드를 보면.. 아래와 같습니다.

FileDown_flag = true;
   Thread th = new Thread(new Runnable() {

    @Override
    public void run() {
     // TODO Auto-generated method stub
     while(SmartHomeVideoFileDown_flag){
      try {
       Thread.sleep(300);
       
       if(index == 11){index = 0;}
       
       String source = "img"+index+".jpeg"; //생성되는 이미지 이름
       index++;
       File local = new File("/sdcard/smt_cctv/" + source); //해당 경로에 파일 생성
       
       fout = new FileOutputStream(local);
       bout = new BufferedOutputStream(new DataOutputStream(fout));
       bin = new DataInputStream(smtSc.getInputStream());
       DataOutputStream returnOut = new DataOutputStream(smtSc.getOutputStream());
       
       byte headerBuffer[] = new byte[4];
       byte LengthBuffer[] = new byte[512];

       //read Header(header 에는 BodySize가 옴.)
       int size=bin.read(headerBuffer);
       //returnOut.write(headerBuffer);
       //int bodysize=Integer.valueOf(body);
       for(int i=0;i<4;i++){
        Log.i("headerBuffer confirm",""+headerBuffer[i]);
       }
       Log.i("allBuffer Size",""+size);
       
       long bodysize = hexChange(headerBuffer); //16진수 bodysize를 10진수로 얻어옴
       //if(bodysize > 10000){Log.i("full","full"); continue;}
       //returnOut.write(headerBuffer);
       //Log.i("headerBuffer","write OKOK");
       Log.i("bodysize : ",""+bodysize);
       
       long readsize=0;
       
       //read body
       while(readsize < bodysize && SmartHomeVideoFileDown_flag){ //bodySize보다 작을 때 까지 파일에 Write.
        int rsize =0;
        try {
         rsize = bin.read(LengthBuffer);
         bout.write(LengthBuffer,0,rsize);
        } catch (IOException e) {
         // TODO Auto-generated catch block
         e.printStackTrace();
        }
        readsize += rsize;
        Log.i("rsize : ",""+rsize);
        Log.i("readsize : ",""+readsize);
       }
       bout.flush();