Exception em socket android

esta dando uma Exception justamente na linha 40 e ainda não sei que danado é já fiz debug e tudo, alguma alma caridosa poderia me ajudar

Agradeço desde já pela atenção.

[code]public void opcao() {
setContentView(R.layout.opcao);

	btconectar_ao_servidor = (Button) findViewById(R.id.btconectar_ao_servidor);
	btcriar_servidor = (Button) findViewById(R.id.btcriar_servidor);
	btVoltarOpcao = (Button) findViewById(R.id.btVoltarOpcao);

	btconectar_ao_servidor.setOnClickListener(new View.OnClickListener() {

		@Override
		public void onClick(View v) {
			setContentView(R.layout.cliente);

			edIp = (EditText) findViewById(R.id.edIp);
			edporta = (EditText) findViewById(R.id.edporta);
			btconectar = (Button) findViewById(R.id.btconectar);
			btVoltarCliente = (Button) findViewById(R.id.btVoltarCliente);

			btVoltarCliente.setOnClickListener(new View.OnClickListener() {

				@Override
				public void onClick(View v) {
					opcao();
				}
			});

			btconectar.setOnClickListener(new View.OnClickListener() {

				@Override
				public void onClick(View v) {
					if (edIp != null & edporta != null) {
						Socket socket = null;
						DataOutputStream dataOutPutStream = null;
						DataInputStream dataInPutStream = null;

						String ip = edIp.getText().toString();
						int porta = Integer.parseInt(edporta.getText().toString());

						try {
							socket = new Socket(ip, porta);
							AlertDialog.Builder dialogo = new AlertDialog.Builder(
									MainActivity.this);
							dialogo.setTitle("Conectado:");
							dialogo.setMessage("Coneção realizada com sucesso");
							dialogo.setNeutralButton("OK", null);
							dialogo.show();

							setContentView(R.layout.chat);

							btsair = (Button) findViewById(R.id.btsair);
							btsair.setOnClickListener(new View.OnClickListener() {

								@Override
								public void onClick(View v) {
									opcao();

								}
							});

							textodeentrada = (EditText) findViewById(R.id.textodeentrada);
							textosaida = (EditText) findViewById(R.id.textosaida);

							dataOutPutStream = new DataOutputStream(socket
									.getOutputStream());
							dataInPutStream = new DataInputStream(socket
									.getInputStream());
							dataOutPutStream.writeUTF(textosaida.getText()
									.toString());

							@SuppressWarnings("deprecation")
							String stringLida = dataInPutStream.readLine();
							textodeentrada.setText(stringLida);

						} catch (Exception e) {
							AlertDialog.Builder dialogo = new AlertDialog.Builder(
									MainActivity.this);
							dialogo.setTitle("Erro:");
							dialogo.setMessage("Excepition Classe Main, Metodo opcao();2");
							dialogo.setNeutralButton("OK", null);
							dialogo.show();
							e.printStackTrace();
						} finally {

							try {
								if (socket != null) {
									socket.close();
								}

								if (dataOutPutStream != null) {
									dataOutPutStream.close();
								}

								if (dataInPutStream != null) {
									dataInPutStream.close();
								}
							} catch (Exception e) {
								e.printStackTrace();
							}

						}

					}
				}
			});

		}
	});[/code]

Quando capturar a exceção, imprima o erro, utiliza o comando:

e.printStackTrace();

wiliamps

Obrigado pela dica amigo, mas já tem isso na linha 81 e não esta imprimindo nada…

Adiciona um catch de Throwable:

			} catch (Throwable e) {
				e.printStackTrace();
			}

wiliamps

Mesmo implementando o Throwable não consegui detectar o erro, ai penssei vou fazer tudo dinovo e agora com servidor android em vez de java (na verdade vou precisar de um servidor android mesmo), minha nescessidade é a seguinte estou fazendo um projeto de um jogo que vou precisar de rede para mandar o valor de ataque e o valor de HP do personagem para o outro tablet, no caso irei usar cliente android e servidor android.

Só que desta forma nada funciona:
O cliente continua com o mesmo erro
E o servidor NÂO RODA.

Agradeço pela atenção desde já.

[code]package com.example.clienteservidor2;

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

import android.app.Activity;
import android.app.AlertDialog;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity {

Button btcliente, btservidor, btconectar;
EditText edip, edporta, edtextosaida, textoentrada;

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	setContentView(R.layout.activity_main);
	inicio();
}

public void inicio() {

	btcliente = (Button) findViewById(R.id.btcliente);
	btservidor = (Button) findViewById(R.id.btservidor);

	btcliente.setOnClickListener(new View.OnClickListener() {

		@Override
		public void onClick(View v) {
			setContentView(R.layout.cliente);
			cliente();
		}
	});

	btservidor.setOnClickListener(new View.OnClickListener() {

		@Override
		public void onClick(View v) {
			setContentView(R.layout.servidor);
			try {
				servidor();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}

	});

}

private void cliente() {
	edip = (EditText) findViewById(R.id.edip);
	edporta = (EditText) findViewById(R.id.edporta);
	btconectar = (Button) findViewById(R.id.btconectar);

	btconectar.setOnClickListener(new View.OnClickListener() {

		@Override
		public void onClick(View v) {
			if (edip != null & edporta != null) {
				Socket socket = null;
				DataOutputStream dataOutPutStream = null;
				DataInputStream dataInPutStream = null;

				String ip = edip.getText().toString();
				int porta = Integer.parseInt(edporta.getText().toString());

				try {
					System.out.println("Passo aqui 1");
					socket = new Socket(ip, porta);
					System.out.println("passo aqui 2");
					AlertDialog.Builder dialogo = new AlertDialog.Builder(
							MainActivity.this);
					dialogo.setTitle("Conectado:");
					dialogo.setMessage("Coneção realizada com sucesso");
					dialogo.setNeutralButton("OK", null);
					dialogo.show();

					setContentView(R.layout.clientechat);

					textoentrada = (EditText) findViewById(R.id.textoentrada);
					edtextosaida = (EditText) findViewById(R.id.edtextosaida);

					dataOutPutStream = new DataOutputStream(socket.getOutputStream());
					dataInPutStream = new DataInputStream(socket.getInputStream());
					dataOutPutStream.writeUTF(edtextosaida.getText().toString());

					@SuppressWarnings("deprecation")
					String stringLida = dataInPutStream.readLine();
					textoentrada.setText(stringLida);

				} catch (Exception e) {
					AlertDialog.Builder dialogo = new AlertDialog.Builder(
							MainActivity.this);
					dialogo.setTitle("Erro:");
					dialogo.setMessage("Excepition Classe Main, Metodo opcao();2");
					dialogo.setNeutralButton("OK", null);
					dialogo.show();
					e.printStackTrace();
				} finally {

					try {
						if (socket != null) {
							socket.close();
						}

						if (dataOutPutStream != null) {
							dataOutPutStream.close();
						}

						if (dataInPutStream != null) {
							dataInPutStream.close();
						}
					} catch (Exception e) {
						e.printStackTrace();
					}

				}

			}

		}
	});

}

private void servidor() throws IOException {
	ServerSocket serverSocket = new ServerSocket(1234);
	Socket socket;
	
	while(true){
		socket = serverSocket.accept();
		DataOutputStream dataOutputStream = new DataOutputStream(socket.getOutputStream());
		DataInputStream dataInputStream = new DataInputStream(socket.getInputStream());
		
		dataOutputStream.writeBytes("Servidor: " + dataInputStream.readUTF());
		dataOutputStream.flush();
		
		AlertDialog.Builder dialogo = new AlertDialog.Builder(
				MainActivity.this);
		dialogo.setTitle("Mensagem");
		dialogo.setMessage("A mensagem foi enviada com sucesso!!!");
		dialogo.setNeutralButton("OK", null);
		dialogo.show();
		
		dataOutputStream.close();
		socket.close();
	}
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
	// Inflate the menu; this adds items to the action bar if it is present.
	getMenuInflater().inflate(R.menu.activity_main, menu);
	return true;
}

}
[/code]

Por favor, não destaque seu tópico com tags óbvias, como [AJUDA], [DÚVIDA], [JAVA], etc…

Descobrir, tem que fazer uma thread a parte.

Obrigado a todos aqueles que me ajudaram