Android客户端套接字。 UnknowHostException

时间:2011-05-18 05:47:32

标签: java android eclipse android-emulator

我在JAVA(多线程)和工作客户端控制台应用程序中有一个工作的服务器应用程序。

现在我正在尝试做一个Android客户端,但是使用Eclipse和Android模拟器我无法连接到我的本地服务器....

  • 是的,我使用10.0.2.2作为我的服务器ip。
  • 是的,使用INTERNET权限修改了清单文件。

            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();
                            }
    
    
    
                        }
                    }
                }}
    

在调试期间,在Log窗口中我可以看到System.err消息,10.0.2.2的UnknowHostException。

1 个答案:

答案 0 :(得分:0)