Клиентское гнездо Android.UnknowHostException - PullRequest
0 голосов
/ 18 мая 2011

У меня есть работающее серверное приложение на JAVA (многопоточное) и работающее клиентское консольное приложение.

Сейчас я пытаюсь создать клиент для Android, однако, используя Eclipse и эмулятор Android, я не могу подключиться к локальному серверу ....

  • да, я использую 10.0.2.2 в качестве ip своего сервера.
  • да, файл манифеста изменяется с разрешением ИНТЕРНЕТ.

            import java.io.BufferedReader;
            import java.io.BufferedWriter;
            import java.io.IOException;
            import java.io.InputStreamReader;
            import java.io.OutputStreamWriter;
            import java.io.PrintWriter;
            import java.net.Socket;
            import java.net.UnknownHostException;
    
            import android.app.Activity;
            import android.os.Bundle;
            import android.view.View;
            import android.view.View.OnClickListener;
            import android.widget.Button;
            import android.widget.ImageButton;
            import android.widget.TextView;
            import android.widget.Toast;
    
            public class RealApp extends Activity implements OnClickListener {
    
                private PrintWriter pw;
                private BufferedReader in;
                private boolean connected = false;
    
                public void onCreate(Bundle savedInstanceState) 
                {
                    super.onCreate(savedInstanceState);
                    setContentView(R.layout.main);
    
                    if (!connected) 
                    {
                        Thread cThread = new Thread(new ClientThread());
                        cThread.start();
                    }
    
    
                }
    
    
    
                public class ClientThread implements Runnable {
    
                    public void run() {
    
                        {
    
                            Socket skt = null;
                            try {
                                skt = new Socket("l0.0.2.2", 1337);
                            } catch (UnknownHostException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            } catch (IOException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            }
    
                            String s = "";
                            String inString = "";
    
                            BufferedReader in = null;
                            try {
                                in = new BufferedReader(new InputStreamReader(skt.getInputStream()));
                            } catch (IOException e2) {
                                // TODO Auto-generated catch block
                                e2.printStackTrace();
                            }
                            PrintWriter pw = null;
                            try {
                                pw = new PrintWriter(skt.getOutputStream(), true);
                            } catch (IOException e1) {
                                // TODO Auto-generated catch block
                                e1.printStackTrace();
                            }
    
    
                            do
                            {
                                try {
                                    inString = in.readLine();
                                } catch (IOException e) {
                                    // TODO Auto-generated catch block
                                    e.printStackTrace();
                                }
    
    
                            }
                            while(!s.equals("quit"));
    
    
                            pw.close();
                            try {
                                skt.close();
                            } catch (IOException e) {
                                // TODO Auto-generated catch block
                                e.printStackTrace();
                            }
    
    
    
                        }
                    }
                }}
    

Во время отладки в окне журнала я вижу сообщение System.err, исключение UnknowHostException для 10.0.2.2.

1 Ответ

0 голосов
/ 18 мая 2011

Попробуйте , создав InetAddress и используя конструктор сокетов , который принимает InetAddress , это должно избежать поиска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...