안드로이드 소켓통신으로 이미지 전송하는 중에 이미지가 제대로 전송도 안되는거 같습니다. 한번 봐주세요 ㅠ

 

client부분

 public class TcpSend implements Runnable {

 private String return_msg;
 private static final String serverIP = "192.168.0.31"; // ex: 203.252.22.54
 private static final int serverPort = 6666; // ex: 5565
 private String msg;
 private String ty;

 public TcpSend(String _msg){   
  this.msg = _msg;
  this.ty = Tokenizer(_msg);
 }
 private String Tokenizer(String st){    
  String type = null;

  StringTokenizer str = new StringTokenizer(st,"@");  
  type = str.nextToken();  
  return type; 
 }
 public void run() {  
  //TODO Auto-generated method stub
  try {
   InetAddress serverAddr = InetAddress.getByName(serverIP);
   Socket socket = new Socket(serverAddr, serverPort);

   try {
    PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);
    out.println(msg);
    
    if(ty=="Report"){
    DataInputStream dis = new DataInputStream(new FileInputStream(new File("\\sdcard\\cameratest.jpg")));
    DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
    byte[] buf = new byte[1024];
    while(dis.read(buf)>0){
     dos.write(buf);
     dos.flush();
    }
    dos.close();
    }
    BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
    return_msg = in.readLine();

   } catch(Exception e) {
    Log.e("TCP", "C: Error1", e);
   } finally {
    socket.close();
   }
  } catch (Exception e) {
   Log.e("TCP", "C: Error2", e);
  }
 }
 public String message(){
  return return_msg;
 }
}

 

 


server부분

 public class AndServer extends Applet implements Runnable {
 public static final int ServerPort = 6666; 
 @Override
 public void run() {
  // TODO Auto-generated method stub
  try{
   System.out.println("Server: Connecting...");
   ServerSocket serverSocket = new ServerSocket(ServerPort);
   while (true) {
    Socket client = serverSocket.accept();
    System.out.println("Server: Receiving...");    
    try {
     BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));
     String str = in.readLine();
     System.out.println("S: Received: '" + str + "'");
     String re = null;
     String type = null;
     type = Tokenizer(str);    
     if(type.equals("Join")){
      re = Join(str);
     }
     if(type.equals("Login")){
      re = login(str);
      //System.out.println(re+"?");
     }
     if(type.equals("Report")){
      
      File f = new File("C:\\cameratest.jpg");
      FileOutputStream output = new FileOutputStream(f);
      byte[] buf = new byte[1024];
     
      while(client.getInputStream().read(buf)>0){
       output.write(buf);
       output.flush();
       
      }
      
      int fileLength = (int)f.length();
      System.out.println(fileLength);
      FileInputStream fin = new FileInputStream(f);
      
      re = report(str,fin,fileLength);
      
      output.close();
     }
    
     PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(client.getOutputStream())),true);
     out.println(re);
    } catch(Exception e) {
     System.out.println("S: Error");
     e.printStackTrace();
    } finally {
     client.close();
     System.out.println("S: Done.");     
    }
   }
  } catch (Exception e) {
   System.out.println("S: Error");
   e.printStackTrace();
  }
 }
 private String Tokenizer(String st){    
  String type = null;
  StringTokenizer str = new StringTokenizer(st,"@");  
  type = str.nextToken();  
  return type; 
 }
 private String Join(String st){
  String name = "";
  String id = "";
  String tel = "";
  String pw = "";
  StringTokenizer str = new StringTokenizer(st,"@");
  while(str.hasMoreTokens()){
   str.nextToken();
   name = str.nextToken();
   id = str.nextToken();
   pw = str.nextToken();
   tel = str.nextToken();
  }
  ServerDB join = new ServerDB();
  join.insert(name, id, pw, tel);
  return "OK";
 }
 
 
 private String login(String st){ //string st = "SEARCH@이름"
  String id = "";
  String pw = "";
  
  StringTokenizer str = new StringTokenizer(st,"@");
  while(str.hasMoreTokens()){
   str.nextToken();
   id = str.nextToken();  //Tokenizer -> String name = 이름값 삽입 
   pw = str.nextToken();
  }
  ServerDB log = new ServerDB();
  if(pw.equals(log.check(id))){
   return "OK";
  }
  else return "NO";
  
 }
 private String report(String st,InputStream fi,int fileLength){
  String content ="";
  String id="";
  
  StringTokenizer str = new StringTokenizer(st,"@");
  while(str.hasMoreTokens()){
   str.nextToken();
   content = str.nextToken();
   id = str.nextToken();
   
  }
  
  ServerDB rep = new ServerDB();
  rep.update(content,fi,fileLength,id);
  return "OK";
 }
 
 
 //---------------------------------------------------------
 public static void main(String[] args){
  // TODO Auto-generated method stub
  Thread desktopServerThread = new Thread(new AndServer());
  desktopServerThread.start();
  
 }
}
부탁드립니다. ㅜ