서버에서 카메라 이미지를 받아오는 앱을 만드는 중인데요 서버와 소켓생성이 안되는지 연결이 안되네요;; 이유가 뭔지 도움 부탁드립니다. ㅠ.ㅠ

 

package konkuk.camera;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.os.Handler;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;

public class WirelessCamera extends Activity {
    /** Called when the activity is first created. */
 private BufferedOutputStream networkWriter;
    private BufferedInputStream networkReader;
    private FileOutputStream fileWriter;
    private Socket socket;
    private String ip = "192.168.0.7"; 
    private final static int port = 50000;
    private byte[] MotionMessage = new byte[16];
    private byte[] CameraMessage = new byte[6];
    private byte[] ImageMessage = new byte[102];
    private byte[] ImageFile = new byte[40000];
    private int size;
    private int numtran;
    private int byte_number;
    private Handler mhandler;
    private int num;
    private int tmp = 1;
    private int state;
    public static final int MAINMENU = 0;
    public static final int CAMERA = 2;
    public static final int SUBCAMERA = 6;
    public static final int DELAY = 50;
    private ImageView sensing_box;
   
    @Override
    protected void onStop() {
        super.onStop();
        try {
            socket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
   
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        try{
         setSocket(ip, port);
        }catch(IOException e){}
        if (socket == null){
         Toast.makeText(WirelessCamera.this, "connection failed", Toast.LENGTH_SHORT).show();
        }
        else{
         Toast.makeText(WirelessCamera.this, "connection is accomplished", Toast.LENGTH_SHORT).show();
         ReceiveMessage.start();
        }
        setContentView(R.layout.main);
    }
   
    public void onStart() {
        super.onStart();
        mhandler = new Handler();
        setupMain();
    }
   
    public void onResume() {
        super.onResume();
    }
   
    private void setupMain(){
  state = MAINMENU;
  setContentView(R.layout.main);
        Button CameraButton = (Button) findViewById(R.id.CameraButton);
        CameraButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
             setupCamera();
            }
        });
        Button Finish = (Button) findViewById(R.id.Finish);
        Finish.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
             finish();
            }
        });
    }
   
    private void setupCamera(){
  state = CAMERA;
  setContentView(R.layout.camera);
        Button ConnectionCamera = (Button) findViewById(R.id.ConnectionCamera);
        ConnectionCamera.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
             sendButtonMessage ((byte)0x01);
            }
        });
        Button GetPicture = (Button) findViewById(R.id.GetPicture);
        GetPicture.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
             sendButtonMessage ((byte)0x02);
            }
        });
        Button GetPicture1 = (Button) findViewById(R.id.GetPicture1);
        GetPicture1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
             sendButtonMessage ((byte)0x03);
            }
        });
        Button GetPicture2 = (Button) findViewById(R.id.GetPicture2);
        GetPicture2.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
             sendButtonMessage ((byte)0x04);
            }
        });
        Button ACK = (Button) findViewById(R.id.Ack);
        ACK.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
             sendButtonMessage ((byte)0x06);
            }
        });
        Button Reset = (Button) findViewById(R.id.Reset);
        Reset.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
             sendButtonMessage ((byte)0x07);
            }
        });
 }
   
    private Thread ReceiveMessage = new Thread() {
  public void run() {
         byte[] Camerabuffer = new byte[6];
         byte[] Imagebuffer = new byte[102];
         byte[] Motionbuffer = new byte[16];
         while (true) {
          switch(state){
           case CAMERA:
                  try{
                   networkReader.read(Camerabuffer);
                         CameraMessage = Camerabuffer;
                         mhandler.post(SendCameraMessage01);
                  }catch(Exception e){
                Toast.makeText(WirelessCamera.this, "connection is lost", Toast.LENGTH_SHORT).show();
                break;
               }
                        if(CameraMessage[2] == 0x05)
                        {
                         sendButtonMessage((byte)0x08);
                         state = SUBCAMERA;
                        }
                        break;
           case SUBCAMERA:
            try{
                         if(networkReader.available() == 102 && numtran > 1){
                          networkReader.read(Imagebuffer);
                          Thread.sleep(DELAY);
                          ImageMessage = Imagebuffer;
                          numtran--;
                          mhandler.post(SendCameraMessage02);
                         }
                         else if(networkReader.available() == 102 && numtran == 1){
                          networkReader.read(Imagebuffer);
                          Thread.sleep(DELAY);
                          ImageMessage = Imagebuffer;
                          numtran--;
                          mhandler.post(SendCameraMessage02);
                          setFile();
                          //Intent open_file = new Intent( getApplicationContext(), open_file.class);       
                          //startActivityForResult(open_file, 3);
                          break;
                         }
                         else if(networkReader.available() == (size%96)+6 && numtran == 1){
                          networkReader.read(Imagebuffer);
                          Thread.sleep(DELAY);
                          ImageMessage = Imagebuffer;
                          numtran--;
                          mhandler.post(SendCameraMessage02);
                          setFile();
                          //Intent open_file = new Intent( getApplicationContext(), open_file.class);       
                          //startActivityForResult(open_file, 3);
                          break;
                         }
                        } catch (Exception e) {
                        Toast.makeText(WirelessCamera.this, "connection is lost", Toast.LENGTH_SHORT).show();
                  break;
                        }
            break;
           default:
            break;
          }
         }
        }
    };
   
    public void setSocket(String ip, int port) throws IOException, UnknownHostException {
        try {
            socket = new Socket(ip, port);
            networkWriter = new BufferedOutputStream((socket.getOutputStream()));
            networkReader = new BufferedInputStream((socket.getInputStream()));
        } catch (IOException e) {
            System.out.println(e);
            e.printStackTrace();
        }
    }
   
    private Runnable SendCameraMessage01 = new Runnable() {
        public void run() {
            switch(CameraMessage[2]){
            case 0x00:
             byte[] buffer0 = {0x02, (byte)0xAA, 0x0E, (byte)0xFF, 0x01, 0x00, 0x00};
             try{
                 networkWriter.write(buffer0);
                 networkWriter.flush();
          }catch(IOException e){}
             Toast.makeText(WirelessCamera.this, "Camera connection is acomplished", Toast.LENGTH_SHORT).show();
          break;
            case 0x01:  
             byte[] buffer1 = {0x02, (byte)0xAA, 0x06, 0x08, 0x66, 0x00, 0x00};
          try{
                 networkWriter.write(buffer1);
                 networkWriter.flush();
          }catch(IOException e){}
          break;
            case 0x06:
             byte[] buffer2 = {0x02, (byte)0xAA, 0x04, (byte)0x05, 0x00, 0x00, 0x00};
             try{
                 networkWriter.write(buffer2);
                 networkWriter.flush();
          }catch(IOException e){}
             break;
            case 0x08:
             Toast.makeText(WirelessCamera.this, "Reset is acomplished", Toast.LENGTH_SHORT).show();
             break;
            case 0x05:
                if(CameraMessage[3] < 0){
                 size = ((int)CameraMessage[4]<<8) | ((int)CameraMessage[3] & 0xFF);
                }else{
                 size = ((int)CameraMessage[4]<<8) | ((int)CameraMessage[3]);
                }
                if (size%96 != 0)
                 numtran = (size/96)+1;
                else
                 numtran = (size/96);
                Toast.makeText(WirelessCamera.this, "Data Size : "+size, Toast.LENGTH_SHORT).show();
                Toast.makeText(WirelessCamera.this, "the Number of TX : "+numtran, Toast.LENGTH_SHORT).show();
          break;
            }
        }
    };
    private Runnable SendCameraMessage02 = new Runnable() {
        public void run() {
         byte[] buffer2 = {0x02, (byte)0xAA, 0x0E, 0x00, 0x00, 0x00, 0x00};
         switch(size%96){
         case 0:
          System.arraycopy( ImageMessage , 4 , ImageFile , byte_number , 96 ) ;
          byte_number += 96;
          break;
         default:
          if(numtran > 0){
           System.arraycopy( ImageMessage , 4 , ImageFile , byte_number , 96 ) ;
              byte_number += 96;
             }
             else if(numtran == 0){
              System.arraycopy( ImageMessage , 4 , ImageFile , byte_number , ImageMessage[2] ) ;
              byte_number += ImageMessage[2];
             }
          break;
         }
         switch(ImageMessage[0]){
         case (byte)0xFF:
          buffer2[5] = 0x00;
          buffer2[6] = (byte)(ImageMessage[1] + 0x01);
       try{
        networkWriter.write(buffer2);
        networkWriter.flush();
       }catch(IOException e){}
       break;
      default:
       buffer2[5] = (byte)(ImageMessage[0] + 0x01);
          buffer2[6] = ImageMessage[1];
             try{
              networkWriter.write(buffer2);
              networkWriter.flush();
             }catch(IOException e){}
             break;
         }
        }
    };
   
    private void sendButtonMessage (byte x){
     switch(state){
     case CAMERA:
      switch(x){
      case 0x01:
                byte[] CameraBuffer01 = {0x02, (byte)0xAA, 0x0D, 0x00, 0x00, 0x00, 0x00};
                try{
                 networkWriter.write(CameraBuffer01);
                 networkWriter.flush();
                }catch(IOException e){}         
                break;
      case 0x02:
                byte[] CameraBuffer02 = {0x02, (byte)0xAA, 0x01, 0x00, 0x07, 0x09, 0x07};//1 < 3 < 5 < 7
                try{
                 networkWriter.write(CameraBuffer02);
                 networkWriter.flush();
                }catch(IOException e){}
                break;
      case 0x03:
                byte[] CameraBuffer03 = {0x02, (byte)0xAA, 0x01, 0x00, 0x07, 0x09, 0x05};//1 < 3 < 5 < 7
                try{
                 networkWriter.write(CameraBuffer03);
                 networkWriter.flush();
                }catch(IOException e){}
                break;
      case 0x04:
                byte[] CameraBuffer04 = {0x02, (byte)0xAA, 0x01, 0x00, 0x07, 0x09, 0x03};//1 < 3 < 5 < 7
                try{
                 networkWriter.write(CameraBuffer04);
                 networkWriter.flush();
                }catch(IOException e){}
                break;
      case 0x05:
                byte[] CameraBuffer05 = {0x02, (byte)0xAA, 0x01, 0x00, 0x07, 0x09, 0x01};//1 < 3 < 5 < 7
                try{
                 networkWriter.write(CameraBuffer05);
                 networkWriter.flush();
                }catch(IOException e){}
                break;
      case 0x06:
                byte[] CameraBuffer06 = {0x02, (byte)0xAA, 0x0E, 0x00, 0x00, ImageMessage[0], ImageMessage[1]};
                try{
                 networkWriter.write(CameraBuffer06);
                 networkWriter.flush();
                }catch(IOException e){}
                break;
         case 0x07:
                byte[] CameraBuffer07 = {0x02, (byte)0xAA, 0x08, 0x01, 0x00, 0x00, (byte)0xFF};
                try{
                 networkWriter.write(CameraBuffer07);
                 networkWriter.flush();
                }catch(IOException e){}
                break;
         case 0x08:
                byte[] CameraBuffer08 = {0x02, (byte)0xAA, 0x0E, 0x00, 0x00, 0x00, 0x00};
                try{
                 networkWriter.write(CameraBuffer08);
                 networkWriter.flush();
                }catch(IOException e){}
                break;
      }
      break;   
      case SUBCAMERA:
          switch(x){
          case 0x01:
                    byte[] CameraBuffer01 = {0x02, (byte)0xAA, 0x0D, 0x00, 0x00, 0x00, 0x00};
                    try{
                     networkWriter.write(CameraBuffer01);
                     networkWriter.flush();
                    }catch(IOException e){}         
                    break;
          case 0x02:
                    byte[] CameraBuffer02 = {0x02, (byte)0xAA, 0x01, 0x00, 0x07, 0x09, 0x07};//1 < 3 < 5 < 7
                    try{
                     networkWriter.write(CameraBuffer02);
                     networkWriter.flush();
                    }catch(IOException e){}
                    break;
          case 0x03:
                    byte[] CameraBuffer03 = {0x02, (byte)0xAA, 0x01, 0x00, 0x07, 0x09, 0x05};//1 < 3 < 5 < 7
                    try{
                     networkWriter.write(CameraBuffer03);
                     networkWriter.flush();
                    }catch(IOException e){}
                    break;
          case 0x04:
                    byte[] CameraBuffer04 = {0x02, (byte)0xAA, 0x01, 0x00, 0x07, 0x09, 0x03};//1 < 3 < 5 < 7
                    try{
                     networkWriter.write(CameraBuffer04);
                     networkWriter.flush();
                    }catch(IOException e){}
                    break;
          case 0x05:
                    byte[] CameraBuffer05 = {0x02, (byte)0xAA, 0x01, 0x00, 0x07, 0x09, 0x01};//1 < 3 < 5 < 7
                    try{
                     networkWriter.write(CameraBuffer05);
                     networkWriter.flush();
                    }catch(IOException e){}
                    break;
          case 0x06:
                    byte[] CameraBuffer06 = {0x02, (byte)0xAA, 0x0E, 0x00, 0x00, ImageMessage[0], ImageMessage[1]};
                    try{
                     networkWriter.write(CameraBuffer06);
                     networkWriter.flush();
                    }catch(IOException e){}
                    break;
             case 0x07:
                    byte[] CameraBuffer07 = {0x02, (byte)0xAA, 0x08, 0x01, 0x00, 0x00, (byte)0xFF};
                    try{
                     networkWriter.write(CameraBuffer07);
                     networkWriter.flush();
                    }catch(IOException e){}
                    break;
             case 0x08:
                    byte[] CameraBuffer08 = {0x02, (byte)0xAA, 0x04, 0x05, 0x00, 0x00, 0x00};
                    try{
                     networkWriter.write(CameraBuffer08);
                     networkWriter.flush();
                    }catch(IOException e){}
                    break;
          }
          break;   
     }
    }
   
    private void setFile(){
  File root = Environment.getExternalStorageDirectory();
        if(root.canWrite()){
         try{
          fileWriter = new FileOutputStream(new File(root, "tset.jpg"));
          fileWriter.write(ImageFile, 0, size); 
         }catch(IOException e){}
        }
        else
          Toast.makeText(WirelessCamera.this, "File Writing is impossible", Toast.LENGTH_SHORT).show();
 }
}