C부분

 

p=fopen("test.jpg","rb");

if(fp==NULL)
 return 0;

while(1)
{
 printf("11 ");
 
 file_len=fread(buf,sizeof(char),30,fp);
 
 send(hClntSock,buf,file_len,0);
 
 
 if(feof(fp))
  break;
}

 

이렇게 해서 안드로이드 파일 보냅니다.

 

 

안드로이드에서 받는 부분입니다.

 

void Receive()
 {
  int i=0;
  try {
  BufferedInputStream bis = new BufferedInputStream( sock.getInputStream());
  
  BufferedOutputStream bos = new BufferedOutputStream(
     new FileOutputStream(new File("/mnt/sdcard/"+"ee.jpg")));

   int size=0;
   byte b[] = new byte[30];
   int body=0;
 

   while((size=bis.read(b))!=-1)
   {
   
 
    bos.write(b,0,size);
    bos.flush();
  
   }
  
   bos.close();
   bis.close();
   sock.close();
  
  
  
  
 } catch (Exception e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
 }
 
 
 
 }

 

이렇게해서 이미지를 송신을 하면 안드로이드에서 보면 검은 화면만 나옵니다.

그래서 usb하고 연결해서 컴퓨터로 보면 제대로 나옵니다.

 

그래서 용량을 확인해봤더니 원본이 75.7kb이고  수신받은 파일이 75.4kb 이거나 75kb 이렇게 유동적으로 바뀝니다.

 

그래서 다른 wav파일을 C에서 보내고 받아서 안드로이드에서 재생을 해봤는데 재생이 됩니다. 근데 용량이 원본은 287kb이고 받은 용량은

286인데 제대로 재생이 됩니다.

 

왜 이미지파일은 제대로 보이지 안을까요??