1. java
  2. android
  3. c#
  4. .net
  5. javascript
  6. php
  7. jquery
  8. html
  9. sql

Java Android - Ajuda com aplicacao que envia IP ao servidor por meio de socket

Ola Gostaria de pedir uma ajuda a alguem que entende sockets com o android, estou tentando fazer um aplicativo android que envia o seu ip a um servidor feito com o java sem android. Mas por algum motivo a resposta q recebo no servidor eh de null.

Segue o que tentei desenvolver:

Cliente feito em Java Android:

import android.os.Bundle;
import java.net.*;
import java.io.*;
import android.app.Activity;
import android.view.*;
import android.widget.*;

public class MainActivity extends Activity {

    //Toast.makeText(MainActivity.this, "Funciona", Toast.LENGTH_LONG).show();
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);     

        final Button bEnviar = (Button) findViewById(R.id.button1);
        bEnviar.setOnClickListener(new Button.OnClickListener() {  

            public void onClick(View v) {
                try {
                    Socket cliente = new Socket("127.0.0.1", 4000);
                    ObjectInputStream entrada = new ObjectInputStream(cliente.getInputStream());
                    Toast.makeText(MainActivity.this, "Conexão encerrada", Toast.LENGTH_LONG).show();
                  }
                  catch(Exception e) {
                    Toast.makeText(MainActivity.this, "Erro: " + e.getMessage(), Toast.LENGTH_LONG).show();
                  }
            }
        });
    }
}

Servidor em Java convencional:

import java.io.*;
import java.net.*;

public class Servidor {

  public static void main(String[] args) {

    try {

        ServerSocket servidor = new ServerSocket(4000);

        while(true) {
          Socket cliente = servidor.accept();
          System.out.println("Cliente IP: "  + cliente.getInetAddress().getHostAddress());
          ObjectOutputStream saida = new ObjectOutputStream(cliente.getOutputStream());
          saida.flush();
          saida.close();
          cliente.close();
        }  
    }   

    catch(Exception e) {

       System.out.println("Erro: " + e.getMessage());
    } 
  }     
}

Se alguem tiver uma possivel solucao me dizendo se implementei algo errado porfavor peco sua ajuda, comecei a estudar sockets a pouco tempo.

Obrigado!

  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do GUJ!

0 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags android sockets java .net ou faça a sua própria pergunta.