connection with usb
<p>i want to show message when device is connected to pc.My code is given below.But some exception occur. After debuging,it switches from handler to catch block not goes in try block.Can anyone tell me why this is happen.?
Thanks.</p>

<pre><code>package com.ex;


import java.io.IOException;
import java.io.PrintWriter;
import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketTimeoutException;
import java.net.UnknownHostException;
import java.util.Scanner;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
import android.widget.Toast;


public class Connection extends Activity implements OnClickListener {

    public static final String TAG="Connection";
    public static final int TIMEOUT=10;
    Intent i=null;
    TextView tv=null;
    private String connectionStatus=null;
    private Handler mHandler=null;
    ServerSocket server=null;
    Handler mHandler1=null;
    Scanner socketIn; 
    PrintWriter socketOut;
    boolean connected; 

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);


    //Set up click listeners for the buttons
    View connectButton = findViewById(R.id.connect_button);
    connectButton.setOnClickListener(this);

    i = new Intent(this, Connected.class);
    mHandler=new Handler();
    }




    @Override
    public void onClick(View v) {
    switch (v.getId()) {
    case R.id.connect_button:
    tv = (TextView) findViewById(R.id.connection_text);
    //initialize server socket in a new separate thread
    new Thread(initializeConnection).start();
    String msg="Attempting to connect...";
    Toast.makeText(Connection.this, msg, msg.length()).show();
    break;
    }
    }

    private Runnable initializeConnection = new Thread() {
    public void run() {

    Socket client = null;
    try {
        client = new Socket("192.168.18.116", 8080);
    } catch (UnknownHostException e1) {
        // TODO Auto-generated catch block
        e1.printStackTrace();
    } catch (IOException e1) {                                     
        // TODO Auto-generated catch block
        e1.printStackTrace();
    }
    // initialize server socket
    try{
    server = new ServerSocket();
    server.setReuseAddress(true);
    server.setSoTimeout(TIMEOUT*1000);
    server.bind(new InetSocketAddress(5037));

    while((client = server.accept()) == null);


    //attempt to ccept a connection
    client = server.accept();
    socketIn=new Scanner(client.getInputStream());
    socketOut = new PrintWriter(client.getOutputStream(), true);
    } catch (SocketTimeoutException e) {
    // print out TIMEOUT
    connectionStatus="Connection has timed out! Please try again";
    System.out.println("++++++++++++++++nistha+++++++++++++"+connectionStatus);
    mHandler.post(showConnectionStatus);
    System.out.println("++++++++++++++++nistha+++++++++++++"+mHandler.post(showConnectionStatus));
    } catch (IOException e) {
    Log.e(TAG, ""+e);
    } finally {
    //close the server socket
    try {
    if (server!=null)
    server.close();

    } catch (IOException ec) {
    Log.e(TAG, "Cannot close server socket"+ec);
    System.out.println("#########Nis#########"+Log.e(TAG, "Cannot close server socket"+ec));
    }
    }

    if (client!=null) {
    connected=true;


    // print out success

    connectionStatus="Connection was succesful!";
    mHandler.post(showConnectionStatus);
    System.out.println("#########Nis#########"+mHandler.post(showConnectionStatus));
    startActivity(i);
    }
    }
    };

    /**
    * Pops up a "toast" to indicate the connection status
    */
    private Runnable showConnectionStatus = new Runnable() {
    public void run() {
    Toast.makeText(Connection.this, connectionStatus, Toast.LENGTH_SHORT).show();
    }
    };
/*
*//**
* Initialize connection to the phone
*
*/
    /*

public void initializeConnection(){
//Create socket connection
try{
final Socket socket = new Socket("localhost", 38300);
PrintWriter out = new PrintWriter(socket.getOutputStream(), true);
//in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
Scanner sc = new Scanner(socket.getInputStream());
System.out.println("########Nistha##########"+sc);
// add a shutdown hook to close the socket if system crashes or exists unexpectedly
Thread closeSocketOnShutdown = new Thread() {
public void run() {
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
};
Runtime.getRuntime().addShutdownHook(closeSocketOnShutdown);
} catch (UnknownHostException e) {
Print.fatalError("Socket connection problem (Unknown host)"+e.getStackTrace());
} catch (IOException e) {
Print.fatalError("Could not initialize I/O on socket "+e.getStackTrace());
}
*/

}</code></pre>
